列が存在する場合、テーブルの列をすべての行の文字列に設定しようとしています。しかし、私は、SQL構文エラーを受け付けておりますし、正確に何の問題がある特定することはできません。私はそれは非常に小さいが、私に何かでなければなりません知っているPHPでのSQLの構文エラー
information_schema
db1
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 ')
BEGIN
UPDATE info
SET borrower = '****'
' at line 5
:
while($db = mysqli_fetch_array(mysqli_query($conn, "SHOW DATABASES"))){
$id = $db['id'];
$sql = /** @lang text */
"SELECT IF(EXISTS(
SELECT DISTINCT `info`
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME IN ('borrower')
AND TABLE_SCHEMA = '$db'))
BEGIN
UPDATE `info`
SET `borrower` = '****'
WHERE `id` = '$id'
END";
$query = mysqli_query($conn, $sql);
if (!$query){
// Deal with error
}
}
私は戻って受け取る構文エラーしばらく詰まっていて、私の誤りを見つけることができない。
'始まる/ end'は、ストアドプロシージャではなく、一般的な' SELECT'クエリでのみ有効です。あなたがしようとしていることは、 '選択する 'ことはできません。 selectは、テーブルのデータOUTのみをプルします。表の内容または他の表を変更することはできません。 'update ... join'が必要ですし、それでもselectから取り出されたものだけでなく、特定のフィールドだけをターゲットにすることができます。 –
私は 'UPDATE ...'セクションをどこに置くべきですか? – Jodo1992
何をしていますか? –