mysql
  • replace
  • phpmyadmin
  • 2013-05-02 2 views 1 likes 
    1
    UPDATE 'module_tests' SET 'tests_content' = REPLACE('tests_content', '<a onclick=', '<a class="dic" onclick='); 
    

    Когда я пытаюсь запустить верхний запрос в phpmysql, он дал ошибку ниже. Может ли кто-нибудь сказать мне причину этого?SQL REPLACE дать ошибку в phpmyadmin

    #1064 - 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 ''module_tests' SET 'tests_content' = REPLACE('tests_content', '<a onclick=', '' at line 1 
    
    +0

    does '' tests_content'' название поля .. ?? если его имя поля тогда просто использует 'tests_content' без цитаты –

    ответ

    0

    изменить запрос к этому:

    UPDATE `module_tests` 
        SET `tests_content` = REPLACE(`tests_content`, '<a onclick=', '<a class="dic" onclick='); 
    

    Вы передаете таблицы и столбца в виде строки.

    +0

    дать 0 затронуто – Kombuwa

    +0

    у вас есть какое-либо значение как' ' MISJHA

    +0

    да, конечно, много – Kombuwa

    2

    Удалите одинарные кавычки вокруг запроса table и column name..Your должно быть так:

    UPDATE module_tests SET tests_content = REPLACE(tests_content, '<a onclick=', '<a class="dic" onclick='); 
    

    Заканчивать SQLFIDDLE

    Я подозреваю, что у вас есть некоторая путаница в одинарные кавычки (') и backtick (`). В вашем примере, вы можете использовать кавычку, чтобы убедиться, что имя таблицы и имя поля не получают конфликт с зарезервированными словами в MySQL .... Используя обратный одиночные кавычки, вы можете изменить ваш запрос, как это:

    UPDATE `module_tests` SET `tests_content` = REPLACE(`tests_content`, '<a onclick=', '<a class="dic" onclick='); 
    

    Check out Query With Backtick

    Смежные вопросы