Php 为什么我的代码不将数据插入数据库?
您似乎是数据库新手,看到了其他问题,这是唯一一个与数据库工作相关的问题 这一行永远不会执行:Php 为什么我的代码不将数据插入数据库?,php,mysql,database,Php,Mysql,Database,您似乎是数据库新手,看到了其他问题,这是唯一一个与数据库工作相关的问题 这一行永远不会执行: <?php require 'connect.inc.php'; $food= $_POST['food']; $cost= $_POST['cost']; $sqlinsert = "INSERT INTO test (eat, pay) VALUES ('$food','$cost')"; ?> <form method = "POST" action = "index
<?php
require 'connect.inc.php';
$food= $_POST['food'];
$cost= $_POST['cost'];
$sqlinsert = "INSERT INTO test (eat, pay) VALUES ('$food','$cost')";
?>
<form method = "POST" action = "index.php">
Food: <input type = "text" name = "food">
<br/>
Cost: <input type = "text" name = "cost">
<br/>
<input type = "submit" value = "order">
</form>
我们不知道您正在使用哪个MySQL API进行连接;如果是mysql\uu
,或者mysqli\u
或者PDO,或者其他,因为您在问题中没有提到这一点
根据使用的API,需要在PDO中运行mysql\u query()
,或mysqli\u query()
或query()/execute()
有关如何执行此操作,请参阅以下链接:
- /
isset()
,并为其指定一个“name”属性
即:
使用if(isset($\u POST['submit']){…}
否则,您将无法返回错误
如果引用为空:
MySQL\u
并使用mysqli\u query()
或PDO进行查询,请记住这一点
另一件事是确保进入数据库的数据不包含MySQL会抱怨的字符,例如撇号
因此,您需要转义该数据。这还有另一个原因,避免了可能的SQL注入;你应该使用事先准备好的声明
参考资料:
脚注:
如果您使用的是
mysql\uu
API进行连接,则该API已被弃用,并已在php7.0中删除。如果是这种情况,那么您将需要使用mysqli\uu
或PDO API。在哪里运行查询?因为将查询文本分配给变量并不意味着将执行查询。execute mysqli\u query()“它连接良好”-是什么,mysql\ux?迈斯克利?PDO?其他的?
$sqlinsert = "INSERT INTO test (eat, pay) VALUES ('$food','$cost')";