2015-02-12 4 views
-3

Я пытаюсь использовать SQL-запрос UPDATE в скрипте PHP, но запрос всегда возвращает пустую или пустую ошибку. Я не знаю, почему это происходит. Вот мой код до сих пор:Мой SQL-запрос не работает, но не возвращает ошибку

$conn1 = mysql_connect($servername, $username, $password, $dbname); 
if ($conn1->connect_error) { 
    die("Connection failed: " . $conn1->connect_error); 
} 

$query = "UPDATE Products SET FilePrice=".$ourprice." WHERE FileID=".$id; 
$sql = mysql_query($query); 
if ($sql === TRUE) { 
    echo "Price Modified Successfully"; 
} else { 
    echo "Error: " . $sql . "<br>" . $conn1->error; 
} 

Каждый раз, когда я бегу сценарий он просто повторяет Error:

Кто-нибудь знает, почему это происходит (я не получаю сообщение об ошибке соединения первоначально либо)?

+1

Его хорошая возможность прекратить использование 'mysql_' и начать использовать PDO или' mysqli_', поскольку 'mysql_' устарел. И вы также можете начать использовать подготовленные инструкции, чтобы избежать SQL-инъекции. – developerwjk

+0

Вы используете 4 параметра для вашего соединения. Это метод 'mysqli_', а не' mysql_'. –

ответ

1

API mysql API не предлагает синтаксис ООП, поэтому ваш код является неправильным и не будет сообщать об ошибке (фактически, если у вас установлен отчет об ошибках, чтобы отображать все ошибки, которые PHP породил бы ошибку). Объедините это и ваше использование четырех параметров в mysql_connect, и, похоже, вы использовали функции mysql после чтения учебника mysqli.

$conn1 = mysql_connect($servername, $username, $password); 
if (!$conn1) { 
    die("Connection failed: " . $conn1->connect_error); 
} 
$db_selected = mysql_select_db($dbname, $conn1); 
if (!$db_selected) { 
    die ("Can't use foo : " . mysql_error()); 
} 

$query = "UPDATE Products SET FilePrice=".$ourprice." WHERE FileID=".$id; 
$sql = mysql_query($query); 
if ($sql === TRUE) { 
    echo "Price Modified Successfully"; 
} else { 
    echo "Error: " . $sql . "<br>" . mysql_error(); 
} 

Это не исправить вашу проблему с UPDATE, но сообщит вам, какую ошибку сообщает MySQL.

(Возможно, ваша ошибка связана с тем, что $ourprice пуст, поэтому проверьте следующее).

+0

Si синьоре. Кроме того, OP использует 4 параметра в соединении ;-) –

+1

@ Fred-ii- как всегда, хороший улов. –

+0

Это близко к обеду. Голод делает меня стройнее и скуче ;-) –

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