2016-01-19 7 views
0

Прошу прощения, если я задаю этот вопрос неправильно. Я новичок в stackoverflow и php.Обновление столбцов в php?

Я пытаюсь обновить мою базу данных новыми значениями, являющимися заголовком и содержанием. Каждая строка имеет идентификатор. Я хочу обновить информацию только в этой строке ID. Это заявление, которое я использую. Какой рабочий разве кто-то может предложить мне несколько советов, пожалуйста? `

$updateBlog = $c->query("UPDATE blog SET (title, content) VALUES ('$updateTitle', $postContent) WHERE id = $updateID"); 
+2

Как '$ postContent', скорее всего, строка, она должна быть указана в вашем SQL –

+1

Ваш синтаксис' UPDATE' * все * неправильный. Похоже, вы пытаетесь сделать «INSERT». –

+1

Еще лучше, научитесь использовать подготовленные операторы/связывать переменные с помощью MySQLi или PDO .... в 2016 году, в конце концов, так зачем вводить значения данных непосредственно в ваши SQL-операторы и помнить о том, чтобы избежать значений и всех других накладных расходов что влечет за собой –

ответ

3

Вы синтаксис запросов не подходит для UPDATE и you'rre отсутствуют кавычки вокруг вашей второй переменной:

UPDATE blog 
SET title = '$updateTitle', 
content = '$postContent' 
WHERE id = $updateID 

Это сделает ваше заявление выглядит следующим образом:

$updateBlog = $c->query("UPDATE blog SET title = '$updateTitle', content = '$postContent' WHERE id = $updateID); 

Оставляя ваш запрос вроде этого opens you to risk for SQL Injection Attacks. Вы действительно должны узнать о prepared заявлениях для PDO и MySQLi.

+1

Спасибо, что очень сработали. Я буду изучать SQL-инъекции – Jake

-1
$updateBlog = $c->query("UPDATE blog SET (title, content) VALUES ('{$updateTitle}', {$postContent}) WHERE id = {$updateID}"); 

Вы должны реально смотреть на какую-то проверку входных данных и очистки для значений, хотя. Если это происходит прямо из пользовательского ввода, он очень восприимчив к SQL Injection.

+0

Ваш синтаксис SQL неверен, но ваш совет хорош. –

+0

ах, я даже не смотрел на sql. Я думал, что это вопрос интерполяции. – MichaelWClark

+0

Спасибо, что посмотрим в подтверждение. – Jake

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