• 締切済み

次のエラーメッセージ検証 テーブルtbl_user1は確認済

SQL:"select uid from tbl_user1 order by uid'"の実行に失敗しました。→SQLエラーを表示させて見ました。You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1 <?php /* ユーザ履歴確認  dis_career.php */ session_start(); print <<<EOD <HTML> <HEAD> <TITLE>ユーザ履歴の表示</TITLE> <meta http-equiv="Content-Type" content="text/html;CHARSET=Shift_JIS"> </HEAD> <BODY BGCOLOR="#E6E6FA" text="#000066" link="#A020F0" body alink="#FF00FF" body vlink="#9400D3"> EOD; //データベースに接続する $con = mysql_connect("","接続確認済","); $selectdb = mysql_select_db("接続確認済",$con); if ($con == false) { print("データベースに接続できませんでした。"); exit; } $sql = "select * from tbl_user1 order by uid'"; $result = mysql_query($sql,$con); if ($result == false) { printf("SQL:\"$sql\"の実行に失敗しました。"); print mysql_error(); exit; } $rows = mysql_num_rows($result); //行数を取得 printf("<CENTER><H2><ユーザ履歴確認></H2></CENTER>"); print("<table border=\"1\" align=\"center\" >\n"); print("<TR><TH><学科名></TH><TH>名前</TH><TH>コース名</TH><TH>履歴表示</TH></TR>\n"); if ($rows > 0){ for ($j = 0;$j < $rows;$j++) { print("<FORM ACTION=\"career.php\" METHOD=\"post\" TARGET=\"right\">"); $data=mysql_fetch_object($result); $uid=$data->uid; ~省略してます。~ print("</TR>"); print("</FORM>"); } } ?> </BODY> </HTML>

  • PHP
  • 回答数2
  • ありがとう数0

みんなの回答

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.2

http://oshiete1.goo.ne.jp/kotaeru.php3?q=1989657 こっちを補足するか締め切るかしたほうがいいのではないでしょうか?

  • cobun5513
  • ベストアンサー率59% (25/42)
回答No.1

ぱっと見てみての解答。 $sql = "select * from tbl_user1 order by uid'";を $sql = "select * from 'tbl_user1' order by uid'"; としたらどうでしょう? テーブル名とか、フィールド名とかで_(アンダーバー)とか-(ハイフン)とか 使っている名前は '(シングルコート)でくくらんといかんかったと思うのですが。

関連するQ&A

  • 下記バグ("SQL:\"$sql\"の実行に失敗しました。")が表示されます

    ※以下プラグラムが走りません。どこに問題があるか教えて下さい。 <?php /*==   ユーザ履歴確認  dis_career.php ==*/ session_start(); print <<<EOD <HTML> <HEAD> <TITLE>ユーザ履歴の表示</TITLE> EOD; //データベースに接続する $con = mysql_connect("","",""); $selectdb = mysql_select_db("",$con); if ($con == false) { print("データベースに接続できませんでした。"); exit; } $sql = "select * from tbl_user order by uid'"; $result = mysql_query($sql,$con); if ($result == false) { printf("SQL:\"$sql\"の実行に失敗しました。"); exit; } $rows = mysql_num_rows($result); //行数を取得 printf("<CENTER><H2><ユーザ履歴確認></H2></CENTER>"); print("<table border=\"1\" align=\"center\" >\n"); print("<TR><TH><ユーザID></TH><TH>名前</TH><TH>コース名</TH><TH>履歴表示</TH></TR>\n"); if ($rows > 0){ for ($j = 0;$j < $rows;$j++) { print("<FORM ACTION=\"career.php\" METHOD=\"post\" TARGET=\"right\">"); $data=mysql_fetch_object($result); $uid=$data->uid; $name=$data->name; $course=$data->course; print("<TR>"); print("<TD>$uid</TD>"); print("<TD>$name</TD>"); print("<TD>$course</TD>"); print("<INPUT TYPE = \"hidden\" NAME = \"uid\ VALUE=\"$uid\">"); print("<TD><INPUT TYPE = \"submit\" NAME = \"career\ VALUE = \"履歴表示\"></TD>"); print("</TR>"); print("</FORM>"); } } ?> </BODY> </HTML>

    • ベストアンサー
    • PHP
  • 下記エラーメッセージ解決について

    Parse error: syntax error, unexpected T_STRING in /home/パス名/kanrisha/dis_tbl_year.php on line 32  どこが悪いのでしょうか? <?php /* 登録年度一覧表示 dis_tbl_year.php */ session_start(); print <<<EOD <HTML> <HEAD> <TITLE>tbl_yearの表示</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset="Shift_JIS"> </HEAD> <BODY BGCOLOR="#E6E6FA" text="#000066" link="#A020F0" body alink="#FF00FF" body vlink="#9400D3"> EOD; //データベース関連のデータをインクルードします //MySQLに接続します $result = mysql_query($sql); // select を実行 if ($result == false){ printf("SQL:\"$sql\"の実行に失敗しました。"); exit; } $rows = mysql_num_rows($result); //行数を取得 printf("<CENTER><H2><登録年度一覧></H2></CENTER>"); print("<table border = \"1\" align = \"center\">\n"); print("<TR><TH>年度ID</TH><TH>年度</TH></TR>\n"); //ちなみに32行目はここです。 if ($rows > 0){ for ($j = 0;$j < $rows;$j++) { print("<FORM ACTION = \"hensyu_year.php\" METHOD=\"POST\" TARGET=\"right\">"); $data = mysql_fetch_object($result); $year_id = $data->year_id; $year = $data->year; print("<TR>"); print("<TD>$year_id</TD>"); print("<TD>$year</TD>");

    • 締切済み
    • PHP
  • PHP下記エラーメッセージ解決法について

    Parse error: syntax error, unexpected T_STRING in /home/**パス名***/kanrisha/dis_tbl_year.php on line 32 と何度修正しても32と出ます。以下飛び先実行プログラム(テーブルの表示)。 <?php /* 登録年度一覧表示 dis_tbl_year.php*/ session_start(); print <<<EOD <HTML> <HEAD> <TITLE>tbl_yearの表示</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset="Shift_JIS"> </HEAD> <BODY BGCOLOR="#E6E6FA" text="#000066" link="#A020F0" body alink="#FF00FF" body vlink="#9400D3"> EOD; //データベース関連のデータをインクルード require_once("dbini.php"); //MySQLに接続します $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD); mysql_select_db("○○○"); $sql = "select * from _year order by year_id"; $result = mysql_query($sql); // select を実行 if ($result == false){ printf("SQL:\"$sql\"の実行に失敗しました。"); exit; } $rows = mysql_num_rows($result); //行数を取得 printf("<CENTER><H2><登録年度一覧></H2></CENTER>"); print("<table border=\"1\" align=\"center\">\n"); print("<TR><TH>年度ID</TH><TH>年度</TH></TR>\n"); if ($rows > 0){ for ($j = 0;$j < $rows;$j++) { print("<FORM ACTION=\>"hensyu_year.php\" METHOD=\"POST\" TARGET=\"right\">"); $data = mysql_fetch_object($result); $year_id = $data->year_id; $year = $data->year; print("<TR>"); print("<TD>$year_id</TD>"); print("<TD>$year</TD>"); 以下部分省略 } } ?> </BODY> </HTML>

    • ベストアンサー
    • PHP
  • 以下エラーメッセージ解決法は?

    Parse error: syntax error, unexpected T_STRING in /home/パス名/dis_tbl_year.php on line 32  とエラーメッセージが出ます //データベース関連のデータをインクルードします //MySQLに接続します 上記省略 $result = mysql_query($sql); //selectを実行 if ($result == false){ printf("SQL:\"$sql\"の実行に失敗しました。"); exit; } $rows = mysql_num_rows($result); //行数を取得 printf("<CENTER><H2><登録年度一覧></H2></CENTER>"); print("<table border=\"1\" align=\"center\">\n"); print("<TR><TH>年度ID</TH><TH>年度</TH></TR>\n"); if ($rows > 0){ for ($j = 0;$j < $rows;$j++) { print("<FORM ACTION=\"hensyu_year.php\" METHOD=\"POST\" TARGET=\"right\">"); $data = mysql_fetch_object($result); $year_id = $data->year_id; $year = $data->year; print("<TR>"); print("<TD>$year_id</TD>"); print("<TD>$year</TD>"); print("<INPUT TYPE = \"hidden\" NAME = \"year_id\" VALUE = \"$year_id\">"); print("<TD><INPUT TYPE = \"submit\" NAME = \"hensyu\" VALUE = \"編集\"></TD>"); print("<TD><INPUT TYPE = \"submit\" NAME = \"sakujyo\" VALUE = \"削除\"></TD>"); print("</TR>"); print("</FORM>"); } } mysql_free_result($result); //検索結果の解放 mysql_close($con); //データベースとの接続切断 print("</TABLE>\n"); print("</BR>\n"); print("<CENTER>\n");   print("<a href = \"regist.php\">新規登録</a>"); print("</CENTER>\n"); ?> </BODY> </HTML>

    • ベストアンサー
    • PHP
  • 以下のエラーメッセージ解決法について

    Parse error: syntax error, unexpected '@' in /home/jouka1/www/kanrisha/dis_tbl_year.php on line 47 というエラーメッセージです。助けて下さい。 <?php /* 登録年度一覧表示 dis_tbl_year.php */ session_start();  一部省略~ //データベース関連のデータをインクルードします //MySQLに接続します $rows = mysql_num_rows($result); //行数を取得 printf("<CENTER><H2><登録年度一覧></H2></CENTER>"); print("<table border=\"1\" align=\"center\">\n"); print("<TR><TH>年度ID</TH><TH>年度</TH></TR>\n"); if ($rows > 0){ for ($j = 0;$j < $rows;$j++) { print("<FORM ACTION=\"hensyu_year.php\" METHOD=\"POST\" TARGET=\"right\">"); $data = mysql_fetch_object($result); $year_id = $data->year_id; $year = $data->year; print("<TR>"); print("<TD>$year_id</TD>"); print("<TD>$year</TD>"); print("<INPUT TYPE = \"hidden\" NAME = \"year_id\" VALUE = \"$year_id\">"); print("<TD><INPUT TYPE = \"submit\" NAME = \"hensyu\" VALUE = \"編集\"></TD>"); print("<TD><INPUT TYPE = \"submit\" NAME = \"sakujyo\" VALUE = \"削除\"></TD>"); print("</TR>");  print("</FORM>"); //ちなみに47行目はここです } } mysql_free_result($result); // 検索結果の解放 mysql_close($con);    // データベースとの接続切断 print("</TABLE>\n"); print("</BR>\n"); print("<CENTER>\n");   print("<a href = \"regist.php\">新規登録</a>"); print("</CENTER>\n"); ?> </BODY> </HTML>

    • ベストアンサー
    • PHP
  • 以下エラーメッセージ解決法は 

    Parse error: syntax error, unexpected '@' in /home/jouka1/www/kanrisha/dis_tbl_year.php on line 52 というエラーメッセージ。以下プログラム抜粋 //データベース関連のデータをインクルードします //MySQLに接続します $rows = mysql_num_rows($result); //行数を取得 printf("<CENTER><H2><登録年度一覧></H2></CENTER>"); print("<table border=\"1\" align=\"center\">\n"); print("<TR><TH>年度ID</TH><TH>年度</TH></TR>\n"); if ($rows > 0){ for ($j = 0;$j < $rows;$j++) { print("<FORM ACTION=\"hensyu_year.php\" METHOD=\"POST\" TARGET=\"right\">"); $data = mysql_fetch_object($result); $year_id = $data->year_id; $year = $data->year; print("<TR>"); print("<TD>$year_id</TD>"); print("<TD>$year</TD>"); print("<INPUT TYPE = \"hidden\" NAME = \"year_id\" VALUE = \"$year_id\">"); print("<TD><INPUT TYPE = \"submit\" NAME = \"hensyu\" VALUE = \"編集\"></TD>"); print("<TD><INPUT TYPE = \"submit\" NAME = \"sakujyo\" VALUE = \"削除\"></TD>"); print("</TR>"); print("</FORM>"); } } mysql_free_result($result); // 検索結果の解放 mysql_close($con);    // データベースとの接続切断 print("</TABLE>\n"); //ちなみに52行目はここです print("</BR>\n"); print("<CENTER>\n");   print("<a href = \"regist.php\">新規登録</a>"); print("</CENTER>\n"); ?> </BODY> </HTML>

    • ベストアンサー
    • PHP
  • 縦に長い<table>でなく横に長い<table>を組むためのfor文の書き方

    文末のコードを実行すると、下記のような結果が得られますが、 番号 名前 性別   1 阿藤 男   2 江藤 男   3 加藤 女   4 木藤 女   5 工藤 男 行列を入れ替えた表をつくりにはどういうロジックになりますか。 番号   1   2   3   4   5 名前  阿藤  江藤  加藤  木藤  工藤 性別   男   男   女   女   女 おそらく、for文を改造するのでしょうが・・・ よろしくお願い致します。 <?php $con = mysql_connect(SERVER, USER, PASS); $selectdb = mysql_select_db(DB, $con); $sql = "select * from mytable"; $rst = mysql_query($sql, $con); $recmax = mysql_num_rows($rst); $body = "<table border='1'><tr><th>番号</th><th>名前</th><th>年齢</th><tr>\n"; for ($i = 0; $i < $recmax; $i++) { $col = mysql_fetch_array($rst); $body .= "<tr>\n"; $body .= "<td>" . ($i + 1) . "</td>\n"; $body .= "<td>" . $col["name"] . "</td>\n"; $body .= "<td>" . $col["age"] . "</td>\n"; $body .= "</tr>\n"; } $body .= "</table>\n"; mysql_free_result($rst); $con = mysql_close($con); ?> <HTML><BODY> <?= $body ?> </BODY></HTML>

    • ベストアンサー
    • PHP
  • mysql_num_rowsなどのWarningの原因がわからない

    以下のプログラム、何が誤っているのでしょうか。 違う箇所で使ったPHPの使いまわし(そちらは問題なく動いている) なのですが、サーバー上で実行しても Warning: mysql_num_rows(): supplied argument is not a valid MySQL result ... Warning: mysql_free_result(): (以下同上) となり、どうしても原因が究明できません。。 以下、省略してますが、本質は変わりません。SQL文($sql)を phpMyAdminで通すとなんら問題なく問い合わせ結果が得られます。 <?php  $con = mysql_connect(localhost, username, pss);  $selectdb = mysql_select_db(mydb, $con);  $sql = "SELECT Kaisya FROM MYTABLE";  $rst = mysql_query($sql, $con);  $recmax = mysql_num_rows($rst);//■←この行がWarning■  $body = "<table border='1'>";  $body .= "<tr>";  $body .= "<td style=\"text-align: center;\">会社名</td>";  for ($recnum = 0; $recnum < $recmax; $recnum++) {   $col = mysql_fetch_array($rst);   $body .= "<tr>";   $body .= "<td>" . $col['Kaisya'] . "</td>";   $body .= "</tr>";  }  $body .= "</table>";  mysql_free_result($rst);//■←この行がWarning■  $con = mysql_close($con); ?> <html><head></head><body> <?= $body ?> </body></html>

    • ベストアンサー
    • PHP
  • PHP+MYSQLで直近3件のデータ表示

    直近のデータを3件表示するのに $sql =" select * from テーブル order by フィールド(date型) desc limit 3" ; だとうまくいくのですが DATETIME形に変えるとうまくいかないのは、何か変な事してますでしょうか? $sql =" select * from テーブル order by フィールド(datetime型) desc limit 3" ; 他の箇所は両方とも全く一緒です。 データは入れてあります。 宜しくお願いいたします。 全文は書けなかったので <?php require_once("dbini.php"); $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD); $selectdb = mysql_select_db($DBNAME, $con); $sql =" select * from mem order by rupdate desc limit 3" ; $rst = mysql_query($sql, $con); $recmax = mysql_num_rows($rst); $body = "<B>$recmax 件のデータがみつかりました。</B>"; $body .= "<TABLE border='1' cellpadding='2' cellspacing='0'> <TR> <TH bgcolor='#00CCCC'>会員ID</TH> <TH bgcolor='#00CCCC'>会員名</TH> <TH bgcolor='#00CCCC'>性別</TH> <TH bgcolor='#00CCCC'>ジャンル</TH> <TR>\n"; while($col = mysql_fetch_array($rst)) { $body .= "<TR>\n"; $body .= "<TD>" . $col["id"] . "</TD>\n"; $body .= "<TD>" . $col["name"] . "</TD>\n"; $body .= "<TD>" . $col"seibetu"] . "</TD>\n"; $body .= "<TD>" . $col["cate"] . "</TD>\n"; $body .= "</TR>\n"; } $body .= "</TABLE>\n"; mysql_free_result($rst); $con = mysql_close($con); ?> 以下 <?= $body ?> を貼り付けています

    • ベストアンサー
    • PHP
  • nl2br()の記入例

    PHPを始めたばかりで行きづまってしまいました。 MySQLを利用したデータの出し入れなのですが、テキストエリア内の文章の改行についてです。 input.php(入力)⇒confirm.php(確認)⇒end.php(完了) という流れなのですが、input.phpで入力した内容をconfirm.phpで確認すると文章の改行がされてなかったので色々検索した結果、nl2br()使うというところまでは解ったのですが、実際どのように書くのか解りません・・・。 例えばこのようなソースの場合、どのような記述をすればいいのでしょうか? <html> <head> <title>薬屋さん</title> </head> <body> <?php $con = mysql_connect('aaa', 'bbb', 'ccc'); if (!$con) { exit('データベースに接続できませんでした。'); } $result = mysql_select_db('ddd', $con); if (!$result) { exit('データベースを選択できませんでした。'); } $result = mysql_query('SELECT * FROM kusriya', $con); echo "<dl>\n"; while ($data = mysql_fetch_array($result)) { $id = $data['id']; $shop = htmlspecialchars($data['shop']); $address = htmlspecialchars($data['address']); $phone = htmlspecialchars($data['phone']); $comment = htmlspecialchars($data['comment']); $navi = htmlspecialchars($data['navi']); $con = mysql_close($con); if (!$con) { exit('データベースとの接続を閉じられませんでした。'); } ?> <form method="post" action="test_confirm.php"> <table> <tr> <th>ID</th><td><input type="text" name="id" /></td> </tr> <tr> <th>店名</th><td><input type="text" name="shop" /></td> </tr> <tr> <th>住所</th><td><input type="text" name="address" /></td> </tr> <tr> <th>電話</th><td><input type="text" name="phone" /></td> </tr> <tr> <th>コメント</th><td><textarea name="comment" cols="80%" rows="5"></textarea></td> </tr> <tr> <th>ルート</th><td><textarea name="navi" cols="80%" rows="5"></textarea></td> </tr> </table> <input type="submit" value="送信" /> <input type="reset" value="リセット" /> </form></body> </html> よろしくお願いします。

    • 締切済み
    • PHP

専門家に質問してみよう