• 締切済み

``を付けないと作動しません

今までは問題なかったのですが、突然テーブル名を `test`で囲まなくては作動しなくなってしまいました $sql="insert into `test` values(1,'okweb')"; $result=mysql_query($sql,$con); mysql_close($con); なぜなんでしょう? どうしたら元に戻るんでしょうか?

  • yousi
  • お礼率85% (6/7)
  • PHP
  • 回答数1
  • ありがとう数1

みんなの回答

  • siwa32
  • ベストアンサー率60% (9/15)
回答No.1

確認していないので申し訳ないのですが テーブル名に-(ハイフン)だったか_(アンダーバー)だったかを含む場合は、``が必要になりました。 が、提示されているテーブル名がtestですから別の原因のようですね。 まあ参考程度と言うことでお許しください。

関連するQ&A

  • トランザクションについて教えてください

    PHPとMysqlを利用しています。MySQL4.1.18です。 同じテーブルに2つ以上の値をINSERTする場合、 1つでもエラーがあればロールバックさせるということはできますでしょうか。 あらかじめ「id=1」の値を登録しておき、この場合1つめがエラーになるので 2つめも実行されないでほしいのですが、実行されてしまいます。 テーブルのタイプはInnoDBにしています。 どうぞよろしくお願いします。 以下を参考に作成しました。 http://oshiete.nikkeibp.co.jp/qa3065237.html $sql = "begin"; $rst = mysql_query($sql, $con); //1つめ $sql= "INSERT INTO T_test(id,name)values('1','山田')"; $rst = mysql_query($sql, $con); if(!$rst){$err="err";} //2つめ $sql= "INSERT INTO T_test(id,name)values('2','鈴木')"; $rst = mysql_query($sql, $con); if(!$rst){$err="err";} $sql = "commit"; $rst = mysql_query($sql, $con); if($err){ $sql = "rollback"; $rst = mysql_query($sql, $con); }

    • ベストアンサー
    • MySQL
  • phpからinsertできない

    またお世話になります。 PHPからMySQLへデータをインサートしたいのですが、各サイトを参考にしながら試しているのですがどうにも上手くいきません。 ソースを見ていただけますでしょうか? $con = mysql_connect("localhost","user","password") or die("MySQLに接続できません。"); mysql_select_db('test'); $sql = "SET CHARACTER SET UTF8"; $result = mysql_query($sql); $data1 = $HTTP_POST_VARS["inpdata1"]; $data2 = $HTTP_POST_VARS["inpdata2"]; $data3 = $HTTP_POST_VARS["inpdata3"]; $sql = 'INSERT INTO `tab1` (`abc`, `def`, `ghi`) VALUES (`$data1`,`$data2`,`$data3`);'; $result = mysql_query($sql); print $data1; //ここでは通常にデータが表示されるので print $data2; //データの受け渡しは問題ないはずですが。 print $data3; mysql_free_result($result); mysql_close($con);

    • ベストアンサー
    • MySQL
  • PHPを使用してMySQLを更新について

    SQLを勉強しようと思い、本を見ながらやっているのですが、入力する文字が全て半角でないとPHPで正常に登録できません。コマンドプロンプトから「Insert ・・・ 」と下記の通り打ち込むと問題なく登録できます。本当は下記のtest1~3は全角/半角を意識せず入力出来るようにしたいと思っています。お手数ですがご教示お願いします。 使用している環境は下記です。 WinXP HE Mysql 5.0 php 5.2.1 Apache 2.0.46 (SQLを更新しようとしている部分 ・・・ 下記”test3”は「3」だけ全角にしているとエラーになるが、半角で「3」と記述すると正常に登録できる) $sql = "INSERT INTO cdinfo(cd_no,artist_name,title,genre,melody1) VALUES(9,'test1','test2','J-POP','test3')"; $result = query($sql,$con); (上記”query”の中身) <?php function query($sql,$con) { $result = mysql_query($sql,$con); if ($result == false) { echo ("クエリーの実行に失敗しました!"); exit(); } return $result; } ?>

    • ベストアンサー
    • MySQL
  • MySQLで、INSERT文でエラー

    下記のスクリプトで、MySQLサーバーのテーブルの中身を見ようとしたら、 返り値が空でした(行数0) ( クエリの実行時間 0.0010 秒 ) と表示されます。 どこが間違ってるのでしょうか。 ////////////////////// // データベース登録 // ////////////////////// $con = mysql_connect("mysql020.******", "*****", "*****"); // リモートのMySQLデータベースサーバーに接続する mysql_select_db("LAA0471050-ideamemo"); // データベースサーバーに存在する(myPHPAdminで作成済みの)データベースを選択する $sql = "SET NAMES utf8"; mysql_query($sql, $con); $sql = "INSERT INTO ideamemo_table (color, title, contents, create) VALUES ('$color', '$title', '$contents', '$create');"; mysql_query($sql, $con); mysql_close($con); ?>

    • ベストアンサー
    • MySQL
  • insert文等で「`」の有無で失敗するテーブルとしないテーブルがある。

    XAMPP(winXP、PHP4)を使っています。 Aのテーブルでは $query= "insert into table (a,b,c,d) values('1','2','3','4')"; $result = mysql_query($query); でデータが追加されるのに、Bのテーブルでは失敗しました。 今日ずっと何が間違っているのかわからなかったのdですが、 $query= "insert into table (`a`,`b`,`c`,`d`) values('1','2','3','4')"; $result = mysql_query($query); とすると成功しました。 なぜAのテーブルでは「`」が無くても成功したのに、Bのテーブルでは必要なのでしょうか。 宜しくお願いします。

    • ベストアンサー
    • MySQL
  • PHPとMySQLで文字化けします

    <?php $con=mysql_connect("localhost","oxwar2","chono3"); $db=mysql_select_db("oxwar2",$con); $query="insert into japan(id,title,price)values(1,'絵本',1000)"; $result=mysql_query($query,$con); if($result){ print "OK"; } ?> として、実行すると上手くいきますが、phpMyadminで見ますと、日本語の部分だけが文字化けしております。 これを直すにはどうしたらよいのでしょうか。 文字コードはUTF8で作りました。色々試しても同じです。 どのようにしたらよいのでしょうか。 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • SQLでできますか?

    SQLでできますか? INSERT INTO test (A) VALUES (B)というSQLを発行したいのですが、このSQLのVALUESのBにあたる部分を正規表現的に指定して、一度のクエリで以下のような結果を得たいのです。 1.テーブルhogeのpiyoカラムの値の先頭がappleになっている行を探す。 2.(1.)で抽出した行のidの値をBとする。 例えば、以下のようにです。 ■皆様が回答してくださるSQL文(1クエリで行いたい) ???????????? ■皆様が回答してくださるSQL文と同等の意味を持つSQL群 INSERT INTO test (A) VALUES (100) INSERT INTO test (A) VALUES (101) INSERT INTO test (A) VALUES (102) ■テーブルhoge _____id_____piyo__________created 1. 100 applebanana 2009/01/02 2. 101 apple_12345 2009/01/03 3. 102 appleXXXXXX 2009/01/04 4. 103 bananananan 2009/01/05 5. 104 ringogogogo 2009/01/06 分かりにくい説明ですが、お詳しい方、どうかご回答の程を宜しくお願いいたします。

    • ベストアンサー
    • MySQL
  • PHP+MySQLでデータ登録がうまくいかない

    いつもお世話になっています。 早速質問です。 ユーザ登録フォームの作成をしています。 Select文を使って2重登録の確認後、DBに登録するのですが 2重登録はちゃんと機能しているのに、登録が出来ません。 どのようにしたらいいか、アドバイスいただけますか? お手数ですが、よろしくお願いします。 mysql_query("lock tables user_data write"); $sql = "select USER from user_data where USER = '" . $_POST["USER"] . "'"; $res = mysql_query($sql); if (mysql_num_rows($res) > 0) { echo "すでに登録済みです。"; mysql_query("unlock tables"); mysql_close($con); exit; } $sql = "insert into user_data(USER, pass) values ('" . $_POST["USER"] . "','" . $_POST["pass"] . "');"; mysql_query($sql); mysql_query("unlock tables"); mysql_close($con);

    • ベストアンサー
    • MySQL
  • 連続で実行するには?

    下のように、PostgreSQL に接続して insert を実行するプログラムを書いたのですが、 これらの3つのinsert 文を一気に実行してしまいたい場合、どうすればよいのでしょうか? // insert $sql = "insert into area values (1,'中央区')"; $sql = "insert into area values (2,'東区'); $sql = "insert into area values (3,'西区'); //ここより本文です。 <?php // connect $db_con = pg_connect("","","fuk_gourmet"); if($db_con == false) {print "cannot connect"; exit;} // insert (これだと一つしか実行できない) $sql = "insert into area values (1,'中央区')"; // execute $rs = pg_exec($db_con, $sql); if($rs == false) {print "execute error"; exit;} pg_freeresult($rs); pg_close($db_con); ?>

    • ベストアンサー
    • PHP
  • コメント部のエラー

    お世話になっております。 只今、フォームに入力したデータをPHPにてMySQLへPOSTする、といったスクリプトを組んでいるのですが、$sql3 = "insert into saller values(null..... という所で下記のようなエラーが出てしまいます。 parse error, unexpected T_STRING in 実はこのスクリプト、他で同じものを記述しているのですが、他では一切問題なく登録が出来ます。 しかしながら、記述ミスかな?などと思いながら試行錯誤を繰り返しているのですが、試にと、//コメントアウトして動かしたところ、やはり同じ場所で同じエラーが表示されてしまいます。 以上、コメントとして処理してもエラーが出た事に戸惑い、何処をどう処理して良いか分からずにおります。ご指導頂ければ有難いのですが・・・宜しくお願いいたします。 追伸:上記スクリプト内で$sql3ですが、以下のようなスクリプトから、素人ながらテーブルがダブらないようにと、分別してみたのですが、プログラミング上、このような記述は適切なのか否か、ということを諸先輩方々の意見も頂戴できれば幸いです。 (途中、省略しております) mysql_connect('localhost','root','******'); mysql_select_db('member'); $hiduke = date("y-m-d"); $sql= "select loginid from test where loginid like '$id'"; $result = mysql_query($sql); $rows = mysql_num_rows($result); if($rows <> 0){ $sql2 = "update test set    ・    ・ mysql_query($sql2); }else{ $sql3 = "insert into saller values(……)";//ココでエラー mysql_query($sql3); }

    • ベストアンサー
    • PHP

専門家に質問してみよう