2013-07-17 3 views
0

Хорошо, это, наверное, что-то простое, что я пропускаю, но я так много раз продумал это!PHP + MySQL UPDATE-запрос (несколько столбцов) не работает

Простое обновление с помощью формы PHP, тянет в переменных, строит запрос:

// Connect 
$connect = mysql_connect('host','login','passwd'); 
if (!$connect) { $errors .= "Not connected : ".mysql_error(); } 
$database = mysql_select_db('db', $connect); 
if (!$database) { $errors .= "Could not get to that database: ".mysql_error(); } 

// Update database table 
$info = "UPDATE `gsa_officers` SET `term` = '2012-2013', `office` = 'President', `type` = 'Poop', `dept` = 'Visual Arts', `name` = 'Matthew W. Jarvis', `email` = '[email protected]ucsd.edu', `blurb` = 'Serves as Chair of both the GSA Executive Committee and Council, oversees the direction of the organization and ensures the execution of its responsibilities and commitments.', `picture` = 'http://gsa.ucsd.edu/sites/gsa.ucsd.edu/files/mat%20w%20jarvis.jpg' WHERE `id` = 1"; 
$query = mysqli_query($info); 
if (!$query) { $errors .= "Bad query: ".mysql_error(); } 
mysql_close($connect); 

я не получаю никаких ошибок, он только печатает: «Bad запрос:»

Что я отсутствующий/Неправильно? Любые дополнительные глазные яблоки оценены^_^

ответ

1

Вы используете mysql_connect() для подключения к серверу базы данных и выберите дб. Затем вы используете mysqli_query() для запуска запроса, затем mysql_error(), чтобы сообщить об ошибке. Вы не можете смешивать эти API.

Вы должны использовать функции mysqli_*, потому что функции mysql_* устарели и будут удалены из будущей версии PHP.

Пример:

// Connect 
$mysqli = new mysqli('host','login','passwd','db'); 
if ($mysqli->connect_error) { $errors .= "Not connected : ".$mysqli->connect_error; } 

// Update database table 
$info = "UPDATE `gsa_officers` SET `term` = '2012-2013', `office` = 'President', 
    `type` = 'Poop', `dept` = 'Visual Arts', `name` = 'Matthew W. Jarvis', 
    `email` = '[email protected]', 
    `blurb` = 'Serves as Chair of both the GSA Executive Committee and Council, oversees the direction of the organization and ensures the execution of its responsibilities and commitments.', 
    `picture` = 'http://gsa.ucsd.edu/sites/gsa.ucsd.edu/files/mat%20w%20jarvis.jpg' 
    WHERE `id` = 1"; 
if (!$mysqli->query($info)) { 
    $errors .= "Bad query: ".$mysqli->error; 
} 
$mysqli->close(); 
+0

Lol, ок я идиот. У меня было все в одном направлении, это не сработало, поэтому я заменил его на mysqli_ *, и он все еще не работал, поэтому я вернул его обратно к оригиналу (или так я думал). Спасибо, это работает сейчас :) – Kaceykaso

0

Изменение этой линии

$query = mysqli_query($info); 

Для

$query = mysql_query($info); 

ПРИМЕЧАНИЕ

mysql extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. 
+0

Черт, этохорошо знать! Я недавно вернулся в mysql, после долгого использования Oracle SQL; Я понятия не имел, что они меняли все расширения! Благодаря! – Kaceykaso

0

подключение с помощью простого mysql (не mysqli), но использовать mysqli_query отправить запрос

0

Что делать, если вы mysql_query вместо mysqli_query?

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