にアポストロフィでクラッシュ。PDOは、私は次のコードを持っており、それがエラーを起こし値
答えて
ここでは文字列を扱っており、クエリ内の変数は引用符で囲む必要があります。
サイドノート:アポストロフィの有無にかかわらず、クエリは引き続きエラーが発生しています。
- さらに準備した準備済みの文例を参考にしてください。
も助けになることがあり、以下を参照してください:
addslashes()
http://php.net/manual/en/function.addslashes.phpstriplashes()
http://php.net/manual/en/function.stripcslashes.php
だから変更
SET name=" . $temp)
を
SET name= '$temp'")
ここで使用する方が良いでしょう。
とを接続するために使用するMySQLのAPIに逃げる機能の相対を使用してデータをエスケープ:以下
参考文献を参照してください。
ただし、WHERE
句がなく、テーブル全体が更新されます。
ので、例えば:
SET name= '$temp' WHERE column_to_update = 'x' ")
x
はあなたが記入し合うように列名を変更するために必要なものです。 UPDATE上
リファレンス:マニュアル(PDO/INSERT)から
例:あなたのケースでそう
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':value', $value);
// insert one row
$name = 'one';
$value = 1;
$stmt->execute();
:
try {
$conn = new PDO("mysql:host=$hostdb; dbname=$namedb", $userdb, $passdb);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "
UPDATE chasiv_lg_cbbfl.defaults
SET `name` = :temp
WHERE `column_to_update` = :xxx
";
$query = $conn->prepare($sql);
$query->bindValue(":temp", $temp);
$query->bindValue(":xxx", $xxx);
$query = $statement->execute();
$conn = null; // Disconnect
}
catch(PDOException $e) {
echo $e->getMessage();
}
すべての情報をありがとう。テーブルはデフォルトテーブルであるため、レコードが1つしかないため、whereステートメントが存在しなかったためです。文章を準備することはaddslashesなどの必要性を取り除いたことは私の理解であった。答えは、$ tempを$ conn-> quote($ temp)に変更し、 'duplicate'リンクに記載されているようにすることでした。私は彼らがあなたが直接ステートメントで同じことを成し遂げることができるように、物事を縛ることを望んでいる理由は不明です。一度に2つ以上のレコードを追加している場合はバインドの使用を見ることができますが、再び簡単にループを使用することができます。 –
@CharlesWilkinsIVよろしくお願いします。私はあなたの解決策を得てうれしく思います*歓声* - P .:いくつかの理由で私の回答を削除するかもしれません。だからあなたがそれを見たら、あなたもあなたの質問を削除することができます。いくつかの人が私たちに下降し、私の答えと同じように問題は正当だった。 –
- 1. が、私はこのエラーを持っており、これは私のコードであるeach_with_index
- 2. 数($ nameArrayは)私は、次のコードを持って正しい値
- 3. PHP PDOエラーませんが、私は私のPHPのフォームを処理するために、次のコード持って
- 4. SQL - 私は、次のデータベース列を持っており、それが値ですSELECT句で
- 5. .NET WebChannelFactoryサービスプロキシはそれが私は、次のコードを持っている
- 6. Javaは私がプリミティブラッパークラスを持って、次のコード持ってカッコ
- 7. long ans =((long)INT_MIN)* 2 - 1;私は私のコードでこれを持って、それが次の警告を引き起こしているため、整数オーバーフローの
- 8. CCSpriteはまだ私がCCSpriteのカスタムサブクラスを持っており、それには私がこれをやっている、それは親から削除し、
- 9. Djangoのフォーム:エラーは、私は次のコードを持っている
- 10. は、私は次のコードを持っているエラー
- 11. は、私は、次のLINQコードを持ってIOrderedQueryableエラー
- 12. エラーは、私は次のコードを持っている
- 13. TSQL - それは私がうまく機能し、次のコード持って
- 14. 私はLaravelによって返され、次のコードを持って、次のコード
- 15. は、私は次の値がありRDDを持ってzipWithIndex
- 16. 私は次のコードを持ってクリック
- 17. - このエラーは、私は次のコードを持っているApp.xamlで
- 18. 私は次のクエリを持っており、それが「間違った」であるSQL
- 19. $は、私は、次のJavaScriptコードを持ってどこにでも
- 20. KDBのQ:それは私がこのコード行持っ
- 21. エラー:起源は、私は、データセットをきれいにするために、次のコードを持っている
- 22. 私は私が私のRubyコードの一部を取っここYMLファイルを持っており、それハッシュ作る
- 23. combineLatestエラーは、私は次のことを持っている
- 24. オリジナル配列値が、私はこのコードを持っている
- 25. jQueryのセレクタは、「これは」私は、次のコードを持っている
- 26. だから私はこの次のコードを持って
- 27. は、私はこのコードを持って
- 28. は、私はこのコードを持って
- 29. は、私は次のPHPコードを持って戻ってMySQLの
- 30. はので、私は次のコードを持っておけば処理
' prエピアとバインド。引用符で問題はありません。 – frz3993