2015-09-28 6 views
-2

Я новичок со всеми php и my sql. и у меня проблема с данными вставки в mysql. код работает хорошо, включая соединение с базой данных, но в действии данных вставки ничего не произошло. mysql находится на хост-сервере. что это может быть? это часть моего кода:Невозможно вставить данные в MySQL с помощью mysqli

$host = "localhost"; 
$user = "user"; 
$pw = "password"; 
$db = "database"; 
$link = mysqli_connect($host, $user, $pw, $db); 
if (!$link) { 
    die("Could not connect: " . mysqli_connect_error()); 
} 
$query = "INSERT INTO lids (sireal, first_name, face_name, telephone, age, email, date) VALUES (null,'$first_name','$face_name','$telephone','$age','$from','$date')"; 
mysqli_query($link,$query); 
mysqli_close($link); 
header('Location:http://www.ttttt/?mess=1 '); 
exit; 
+4

Использование подготовленных операторов, проверить ошибки базы данных, 'mysqli_query ($ ссылки, $ запрос) или умереть (mysqli_error ($ ссылка)!' И закомментируйте строку 'заголовка()' только для испытаний – rray

+0

и эти переменные VALUES определены * где * точно? –

+1

** ПРЕДУПРЕЖДЕНИЕ **: при использовании 'mysqli' вы должны использовать параметризованные запросы и [' bind_param'] (http://php.net/manual/en/mysqli- stmt.bind-param.php), чтобы добавить пользовательские данные в ваш запрос. ** НЕ используйте ** интерполирование строк или конкатенацию для выполнения этого, потому что вы создадите серьезные [ошибки SQL-инъекций] (http://bobby-tables.com /). ** НИКОГДА ** не вставлять '$ _POST' данные непосредственно в запрос. – tadman

ответ

0

Попробуйте положить клещей на ваши имена столбцов на запрос на вставку. Кроме того, всякий раз, когда вы запускаете запрос базы данных, обязательно включайте обработку ошибок, например die (mysql_error()) для определений ошибок, относящихся к mysql или mysqli.

+1

клещей, о, почему? плюс, это действительно комментарий. –

0

Ошибка здесь представляется с нулевым значением, которое вы вставляете, имеет значение u, определенное в структуре таблицы, так что serial может принимать значения NULL.

You haven't even assigned values to your variable you are using in insertion . 
You can declare them and can assign values as before the query. 
$first_name="test"; 
$face_name="john"; 
$telephone=566777888; 
$age = 26; 
$from = '[email protected]'; 
+0

и простейший способ отладки, если выполняется запрос или нет, просто echo mysqli_query ($ link, $ query); если его дисплеи 1 на экране успешно выполнены. –

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