Php PDO插入SQLSTATE[21000]:基数冲突:1241错误
我试图在我的bdd btw中插入这个(太)巨大的请求的数据,我已经修改了很多次,现在,我被这个错误卡住了一段时间。。。我的请求非常简单,我从来没有遇到过这种错误Php PDO插入SQLSTATE[21000]:基数冲突:1241错误,php,Php,我试图在我的bdd btw中插入这个(太)巨大的请求的数据,我已经修改了很多次,现在,我被这个错误卡住了一段时间。。。我的请求非常简单,我从来没有遇到过这种错误 <?php require "functions.php"; require_once "../conf.inc.php"; if(count($_POST)==19){ if (is_numeric($_POST['inputsteak']) &&am
<?php
require "functions.php";
require_once "../conf.inc.php";
if(count($_POST)==19){
if (is_numeric($_POST['inputsteak'])
&& is_numeric($_POST['inputfilet'])
&& is_numeric($_POST['inputviandehachee'])
&& is_numeric($_POST['inputlangue'])
&& is_numeric($_POST['inputpoitrine'])
&& is_numeric($_POST['inputentrecote'])
&& is_numeric($_POST['inputaile'])
&& is_numeric($_POST['inputcuisse'])
&& is_numeric($_POST['inputblanc'])
&& is_numeric($_POST['inputpouletentier'])
&& is_numeric($_POST['inputcoteporc'])
&& is_numeric($_POST['inputsaucisson'])
&& is_numeric($_POST['inputjambonblanc'])
&& is_numeric($_POST['inputsaucisse'])
&& is_numeric($_POST['inputandouillette'])
&& is_numeric($_POST['inputboudinnoir'])
&& is_numeric($_POST['inputboudinblanc'])
&& is_numeric($_POST['inputtrippe'])
&& is_numeric($_POST['inputlardon']))
{
$connection = connectDB();
$request = $connection->prepare("SELECT user_id FROM users WHERE users.email = :t");
$request->execute(['t'=>'antoine.decrouez@yahoo.fr' ]);
$result = $request->fetchALL(PDO::FETCH_ASSOC);
$query = $connection->prepare("INSERT INTO fridge(user_id, ing_id, quantity) VALUES ((:t,:a1,:a),(:t,:a2,:b),(:t,:a3,:c),(:t,:a4,:d),(:t,:a5,:e),(:t,:a6,:f),(:t,:a7,:g),(:t,:a8,:h),(:t,:a9,:i),(:t,:a10,:j),(:t,:a11,:k),(:t,:a12,:l),(:t,:a13,:m),(:t,:a14,:n),(:t,:a15,:o),(:t,:a16,:p),(:t,:a17,:q),(:t,:a18,:r),(:t,:a19,:s))");
$query->execute([
"a1"=>3,
"a"=>$_POST['inputsteak'],
"a2"=>4,
"b"=>$_POST['inputfilet'],
"a3"=>5,
"c"=>$_POST['inputviandehachee'],
"a4"=>6,
"d"=>$_POST['inputlangue'],
"a5"=>7,
"e"=>$_POST['inputpoitrine'],
"a6"=>8,
"f"=>$_POST['inputentrecote'],
"a7"=>9,
"g"=>$_POST['inputaile'],
"a8"=>10,
"h"=>$_POST['inputcuisse'],
"a9"=>11,
"i"=>$_POST['inputblanc'],
"a10"=>12,
"j"=>$_POST['inputpouletentier'],
"a11"=>13,
"k"=>$_POST['inputcoteporc'],
"a12"=>14,
"l"=>$_POST['inputsaucisson'],
"a13"=>15,
"m"=>$_POST['inputjambonblanc'],
"a14"=>16,
"n"=>$_POST['inputsaucisse'],
"a15"=>17,
"o"=>$_POST['inputandouillette'],
"a16"=>18,
"p"=>$_POST['inputboudinnoir'],
"a17"=>19,
"q"=>$_POST['inputboudinblanc'],
"a18"=>20,
"r"=>$_POST['inputtrippe'],
"a19"=>21,
"s"=>$_POST['inputlardon'],
"t" => '1'
]);
}else{
echo "<p style='color=red;'>veuillez rentrer les quantité en valeurs nuériques</p>";
}
}else{
die("tentative de hack");
}
据我所知,您的SQL查询错误。通过插入多行,如下所示:
插入tbl_名称(a,b,c)值(1,2,3)、(4,5,6)、(7,8,9)代码>
从VALUES子句中删除outer()。多行VALUES子句不是()封闭的,但每个以逗号分隔的行组都是()封闭的,如值(1,2,3)、(4,5,6)、(7,8,9)。是否有可能重复的<代码>调用PDOStatement::execute()时,必须为要传递到语句中的每个值包含一个唯一的参数标记。除非启用模拟模式,否则在准备好的语句中不能多次使用同名的命名参数标记。