Когда я запускаю приведенный ниже код для вставки новой строки в базу данных phpMyAdmin, программа умеет вставлять часть mysql_query(). Он показывает «Невозможно вставить». Что случилось с моим кодом? Кто-нибудь может мне помочь?PHP - mysql_query не может вставить новую строку
$connection = mysql_connect($hostname, $username, $password)
or die("Cannot connect db");
mysql_select_db("eLink", $connection)
or die("Cannot select db");
$send_id = $_REQUEST['send_id'];
$to_id = $_REQUEST['to_id'];
$msg = $_REQUEST['msg'];
$type = $_REQUEST['type'];
$time = time() + (60*60*6);
$send_time = date('Y-m-d h:i:s', $time);
mysql_query("INSERT INTO msg_record (send_id, to_id, msg, type, send_time)
VALUES (".$send_id.",".$to_id.",".$msg.",".$send_time.")")
or die("Cannot insert");
die(json_encode(array('send_id'=>$send_id, 'to_id'=>$to_id, 'msg'=>$msg, 'type'=>$type, 'send_time'=>$send_time)));
?>
где is type value in insert query –
Распечатайте сообщение об ошибке, а не бесполезную строку «не может вставить». И это 2015, время, чтобы отбросить 'mysql_ *' и использовать параметры привязки уже. SQL-инъекция в прошлом веке ... – Mat
Скорее всего, оператор insert недействителен, потому что любое из введенных значений недопустимо или должно быть экранировано. Пожалуйста, найдите время, чтобы прочитать документацию, чтобы узнать, как [узнать больше о конкретных ошибках] (http://php.net/manual/en/function.mysql-error.php). Когда вы это сделаете, обратите внимание на большой красный квадрат на каждой странице документации API-интерфейса mysql_ * ', в которой указано, что эти функции устарели. Переход на другой API, такой как PDO, также дает вам возможность использовать параметры привязки, которые будут неявно устранять вашу текущую проблему * и * вашу уязвимость в SQL-инъекции. Тройная победа! – GolezTrol