2015-05-26 3 views
0

Почему я не могу обновить таблицу?проблема с обновлением php mysql

$conn = $this->connectDB(); 
$where = " WHERE ".$tkey." = '".mysqli_real_escape_string($conn, trim($tvalue))."'" ; 
$q = $key." = '".mysqli_real_escape_string($conn, trim($value))."'"; 
echo $sql = "UPDATE ".$table." SET ".$q.$where; 

if ($conn->query($sql) === TRUE) { 
    echo "Record updated successfully"; 
} else { 
    echo "Error updating record: " . $conn->error; 
} 

$this->disconnectDB($conn); 

он возвращает «Запись обновлена ​​успешно», но когда я проверяю DB без изменений.

$sql эхо:

UPDATE Articls SET состояние = '0' WHERE URL = 'HTTP: /www.example.com/en/news/206698'

вызов функции :

updateDB('state',0,'url','http:/www.example.com/en/news/206698','Articls'); 
+0

попробуйте изменить его 'UPDATE Articls SET state = '0' WHERE url LIKE 'http:/www.example.com/ru/news/206698''. выполнить непосредственно в db и проверить процесс обновления или нет? –

+0

нет успеха - та же ошибка –

+1

Я попросил его работать в таблице db не через php-код –

ответ

3

оператор выполнен успешно, но никаких записей не будет обновляться, если ни один из них не соответствует положение о statem WHERE Ent. Используйте mysqli_affected_rows, чтобы проверить, обновлены ли какие-либо строки.

Подсказка: у вас есть только одна косая черта после http: в адресе. Это может быть проблемой.

0

Это может быть или не быть причиной .. Является ли ваш столбец состояния целым числом?

Вы показываете вы пытаетесь установить столбец «состояние» в строку со значением 0:

UPDATE Articls SET state = '0' WHERE url = 'http:/www.example.com/en/news/206698' 

Если в столбце «состояние» представляет собой целое число, вы не должны обернуть значение в кавычки ,

Оно должно быть:

UPDATE Articls SET state = 0 WHERE url = 'http:/www.example.com/en/news/206698' 

PS: У вас есть опечатка в названии вашей таблицы. Это должно быть «Статьи».

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