0

みんな私は次の問題を抱えています。「dsaidovsite」と呼ばれるデータベースと、その中に「一般設定」と呼ばれる SQL テーブルを作成し、そこに ID と PageTopTitle 列を追加しました。列 ID では、PageTopTitle は既に行 0、DSPixels Design に追加されています。次のことを実行したかったのです。ACP を開き、Web サイトのタイトルを挿入し、PHP スクリプトで現在の行を削除し、ID 0 の新しい行を再度挿入します ( PHPは削除する行を正確に認識している必要があるため、IDを使用して行を識別します)と新しいPageTopTitle値。これが私が作成しようとしたPHPです:

$qry = "DELETE FROM General Settings WHERE id = 0"
$qry = "INSERT INTO `dsaidovsite`.`GeneralSettings`(`ID`, `PageTopTitle`) VALUES('0','$PageTopTitle')";
$result = mysql_query($qry);

それは私にエラーを与えていますunexpected T_VARIABLE:

$qry = "INSERT INTO `dsaidovsite`.`GeneralSettings`(`ID`, `PageTopTitle`) VALUES('0','$PageTopTitle')";`

ID列に正確な値を追加する方法がわかり0ません。あなたが私の主張を理解してくれたことを願っています。

敬具、 デニス・サイドフ

4

2 に答える 2

1

これを分解しましょう。

まず、unexpected T_VARIABLEPHPは、予期していなかったときに変数に遭遇したことを通知します。これを考慮して、どの行かを教えてくれたので、周りを見回します。

             $qry = "DELETE FROM General Settings WHERE id = 0"
error line-> $qry...

エラーが提供する行を見ると、変数があり、その前にあるのは別の行であることがわかります。行の終わりに、noに気づき;ます。終わり。その問題は修正されました。

あなたの考えはそれをしているの0かもしれません。PHPは、文字列を評価してMySQLに渡す以外に、MySQLコマンドで何をしているかを気にしません。二重引用符を使用したので、コマンドは適切です$PageTopTitle。評価されます。

さらなるコメント:

実行するmysql_queryのは1回だけで、それはの2番目の設定の後である$qryため、DELETEコマンドは実行されません。

于 2013-02-21T18:28:17.973 に答える
1

コードは次のようになります。

$qry = "DELETE FROM General Settings WHERE id = 0";
mysql_query($qry); //first delete
$qry = "INSERT INTO `dsaidovsite`.`GeneralSettings`(`ID`, `PageTopTitle`)     VALUES('0','$PageTopTitle')";
$result = mysql_query($qry); //then add

あなたはこれを逃しました; 削除の最後に;)

PS: mysqli または PDO を使用する必要があります...mysql 拡張機能は非推奨です

サルドス。

于 2013-02-21T18:18:43.480 に答える