4

mysql を学習しようとしていますが、テーブルへのデータの更新/追加に問題があります

これは私のコードで、新しいデータが表示されるかどうかを確認するために phpmyadmin に移動したときにこのページを実行した後、そこには表示されません。

<?php

$conn = mysql_connect($dbhost, $dbuser, $dbpass); 

if(!$conn) {  die("Could not connect");   }
$dbname = "test";
mysql_select_db($dbname, $conn);

mysql_query("INSERT INTO 'test'.'table1' 
               ('A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'A8') 
             VALUES  
               ('test1', 'test2', 'test3', 'test4', 'test5', 'test6', 'test7', 'test8')"); 

mysql_close($conn);

?>

誰でもこれの何が悪いのか教えてもらえますか?

4

4 に答える 4

2

問題は、フィールド名を囲む引用符です。MySQL では、単一引用符で囲まれたフィールド名は許可されていません。それらは裸 (A1) であるか、バッククォート内 (`A1`) である必要があるため、クエリは次のように書き直す必要があります。

INSERT INTO table1 (A1, A2, A3, A4, A5, A6, A7, A8)
VALUES ('test1', 'test2', 'test3', 'test4', etc.....);
于 2010-08-18T03:54:16.980 に答える
2

エラー チェックを行って、mysql 接続にも問題があるかどうかを確認してください。

if(!mysql_select_db($dbname, $conn)) {
   echo  mysql_error($conn);
}else {

    if(!mysql_query("INSERT INTO  'test'.'table1' ('A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'A8') VALUES ('test1', 'test2', 'test3', 'test4', 'test5', 'test6', 'test7', 'test8')")) {
      echo  mysql_error($conn);
   } 
}
于 2010-08-18T00:42:47.317 に答える
0

まず、データベースが適切に選択されていることを確認します。

mysql_select_db($dbname, $conn) or die('Could not select the database');

クエリに何らかのエラーがある可能性があります。これは、データが追加されない理由です。or die(mysql_error())このmysql_query関数の後に追加して、考えられるエラーを確認してください。

mysql_query("your query....") or die(mysql_error()); 

また、データベース名を指定する必要はありません:

'test'.'table1'

table1クエリで使用するだけです。

エラー報告を有効にすることも役に立ちます。

ini_set('display_errors', true);
error_reporting(E_ALL);
于 2010-08-18T00:41:46.493 に答える
0

MYSQL (または任意の SQL DB) を使用する場合の一般的なヒントを次に示します。何かを行う方法がわからない場合、または物事が間違っている場合。提供されている GUI ツールを使用してジョブを実行し、結果のコードを確認します。

PHPMyAdmin と入力し、挿入を行い、コードをコピーして貼り付けて、何が間違っているかを確認します。

于 2010-08-18T00:42:19.533 に答える