我是编程新手,目前正在学习 PHP 和数据库,我收到错误“参数编号无效:参数未在(第 28 行)中定义”,请告诉我问题是什么?
p.s 而且我也使用谷歌翻译,所以不要对我糟糕的英语感到惊讶。
$post = "Work";
$full_name = "Jack";
$email = "@gmail";
$work_number = "3241";
$number = "8(903)432-19-11";
$parameters = \[
\["p"=\>$post\],
\["f_n"=\>$full_name\],
\["e"=\>$email\],
\["w_n"=\>$work_number\],
\["n"=\>$number\]
\];
$sql = "INSERT contact_work ($post, $full_name, $email , $work_number , $number) VALUE(:p , :f_n , :e , :w_n , :n)";
$query=$connection-\>prepare($sql);
$query-\>execute($parameters);
我尝试查看遇到此问题的人的各种指南和答案,但找不到解决方案。
您的代码中存在多个问题:
SQL INSERT 语句语法不正确。 INSERT 语句的正确语法应该是
插入表名(列1,列2,...)值(值1,值2,...)。
$parameters 数组键名称应与占位符相同(:p、:f_n、:e、:w_n、:n)。
$参数 = [ ':p' => $post, ':f_n' => $full_name, ':e' => $电子邮件, ':w_n' => $work_number, ':n' => $数字 ];
尝试使用以下代码:
$post = "Work";
$full_name = "Jack";
$email = "@gmail";
$work_number = "3241";
$number = "8(903)432-19-11";
$sql = "INSERT INTO contact_work (post, full_name, email, work_number, number) VALUES (:p, :f_n, :e, :w_n, :n)";
$query = $connection->prepare($sql);
$parameters = [
':p' => $post,
':f_n' => $full_name,
':e' => $email,
':w_n' => $work_number,
':n' => $number
];
$query->execute($parameters);
$post = "Work";
$full_name = "Jack";
$email = "@gmail";
$work_number = "3241";
$number = "8(903)432-19-11";
//associative array with key values
$parameters = [
':p' => $post,
':f_n' => $full_name,
':e' => $email,
':w_n' => $work_number,
':n' => $number
];
//make sure u replace with correct column names
$sql = "INSERT INTO contact_work (post, full_name, email, work_number, number) VALUES (:p, :f_n, :e, :w_n, :n)";
$query = $connection->prepare($sql);
$query->execute($parameters);