2014-12-09 2 views
-4

Я хочу, чтобы обновить все пользователям, которые имеют «300000» золота в их банке и установить их на «15000» Я попытался запустить этот скрипт:Обновления всех строк + WHERE

<?php 
     $db_handle = mysqli_connect("127.0.0.1", "root", "pass", "db") or die("|-1"); 
     if($db_handle) 
     $value = '15000'; 
     mysqli_query($db_handle, "UPDATE playerdata SET Bank='$value' WHERE Bank = '300000'"); 


?> 

Я не мог найти много Интернета относительно обновления всех строк оператором WHERE.

Спасибо за помощь.

+1

Так как же это не работает для вас? обновление изменит ВСЕ записи, где поле банка 300000. –

+0

[Sure?] (http://dev.mysql.com/doc/refman/5.0/en/update.html) – moonwave99

+0

Запрос выглядит отлично - что именно проблема? – Mureinik

ответ

1

Вы синтаксических глюки:

if($db_handle) 
    $value = '15000'; 

У вас нет {} на ваш, если(), так что этот код выполняется как:

$db_handle = ... 
if ($db_handle) { 
    $value = '15000'; 
} 
mysqli_query(...); 

Поскольку вы не правильно проверки для сбоя подключения или что-либо сделать, если произошел сбой DID, вы слепо запускаете запрос на соединение, которое может не существовать. Код должен быть

$db_handle = mysqli_connect(...); 
if (!$db_handle) { 
    die(mysqli_connect_error()); 
} 
mysqli_query($db_handle, "query goes here") or die(mysqli_error($db_handle)); 

Никогда EVER предположим, что ваш запрос успешно. Есть точно ОДИН способ добиться успеха и почти бесконечное количество способов его отказа. Всегда принимайте неудачу, проверяйте эту неудачу и относитесь к успеху как к приятному удивлению.

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