2015-12-22 2 views
-3

Я пытаюсь изучить mysql и проблема с SQL-запросом.простой mysqli-запрос не работает

i сделал соединение с базой данных с mysqli сценарий php создает таблицу code_scanned в базе данных.

Создание стола работает очень хорошо! Но мой второй запрос, чтобы заполнить таблицу не будет работать :(

Если я вставить запрос вручную phpadmin это работает.

Но не в моем PHP скрипт.

Может понравиться кто-нибудь взглянуть на мой код, что я делаю неправильно.

$servername = "xxxxxxx"; 
$username = "xxxxxx"; 
$password = "xxxxxx"; 
$dbname = "xxxxxx"; 



// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

// sql to create table 
$sql = "CREATE TABLE IF NOT EXISTS code_scanned (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
produkt VARCHAR(50) NOT NULL, 
code VARCHAR(30) NOT NULL 
)"; 

if ($conn->query($sql) === TRUE) { 
    echo "code_scanned erstellt"; 
} else { 
    echo "Fehler" . $conn->error; 
} 

$sql = "INSERT INTO code_scanned (produkt, code) VALUES ('gates', 'Microsoft')"; 


$conn->close(); 
+1

вы никогда не выполнится вставка –

+0

Вы также должны проверять результат '$ conn-> запроса ($ SQL)' для FALSE, чтобы обнаружить ошибки, а не TRUE, чтобы убедиться, что это было успешным, поскольку успешный вызов возвращает объект 'mysqli_result', а не TRUE – RiggsFolly

ответ

2

Exexute вставка запроса:

и исправить код:

$sql = "INSERT INTO code_scanned (produkt, code) VALUES ('gates', 'Microsoft')"; 
$result= mysqli_query($conn,$sql);  
if($result) 
{ 
echo "Insert sucessfully"; 
} 
else 
{ 
echo("Sorry:".mysqli_errno($conn)); 
} 

$conn->close(); 
+0

Привет, спасибо за быстрый повтор. Теперь его работа. Как я могу отображать mysql-ошибку в виде текста. Если у меня ошибка, я вижу только код ошибки.1045 например – Devil089

+0

изменить mysqli_errno ($ conn) на mysql_error ($ conn) –

+0

cool Спасибо :) – Devil089

0

Вы не запускали второй запрос. Поместите это ниже линии, которая имеет $sql = "INSERT...."

$conn->query($sql); 
+0

Спасибо, что он работает :). Но я не понимаю, почему мой первый запрос выполняется. Его же синтаксис без $ conn-> query – Devil089

+0

'if ($ conn-> query ($ sql) === TRUE) {' Эта строка выполняет первый запрос;). – Matt

+0

Спасибо, теперь его ясно :) – Devil089

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