我一直在对此进行多个小时的故障排除,我不确定为什么这不起作用.我正在尝试发送一个带有Qt应用程序的http帖子并将其用作我的php脚本:
$con=mysqli_connect("*.mysql.eu2.*.com:3306","*****","****","****");
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$id = filter_input(INPUT_POST, 'id', FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW);
$price = filter_input(INPUT_POST, 'price', FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW);
$type = filter_input(INPUT_POST, 'type', FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW);
$stock= filter_input(INPUT_POST, 'stock', FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW);
$currentid = mysqli_insert_id();
if (trim($id) == '') {
exit('id cannot be empty!');
}
if (trim($price) == '') {
exit('price cannot be empty!');
}
if (trim($type) == '') {
exit('type cannot be empty!');
}
if (trim($stock ) == '') {
exit('stock cannot be empty!');
}
$result = "insert into ammo (ammoType,storeId,ammoStock,ammoPrice) VALUES ('".$type."','".$id."','".$stock."','".$price."');";
mysqli_query($result) or die("Could not insert data");
mysqli_close($con);
?>
我已经处于成功之前的某个阶段,但之后我的数据库中的值实际上并没有显示出来.
谢谢,
-大卫
解决方法:
首先,您没有连接到您的查询.
mysqli_query($result)
该功能需要2个参数,首先是DB连接.
mysqli_query($con,$result)
你需要检查错误.我们不知道HTML表单中的内容以及您是否使用POST方法以及您的元素是否具有正确的名称属性.
如果你得到未定义的索引通知,你就会知道该怎么做.
将error reporting添加到文件的顶部,这将有助于查找错误.
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
旁注:显示错误只能在分段中完成,而不能在生产中完成.
这对你没有帮助
or die("Could not insert data");
这样做
or die(mysqli_error($con));
您还应该使用准备好的声明.
N.B:
如果MySQL抱怨Jack的Bar&烧烤,那么你将需要逃避你的数据.
>你应该采取哪种方式.
标签:php,mysql
来源: https://codeday.me/bug/20190623/1271498.html