我第一次编写 PHP/mySQL 程序,可能需要一些建议。
我想要创建的程序将按如下方式工作...这将是一个表单,如果出现问题,您将发送到服务器。您希望能够自己填写表格。然后问题将显示在另一台计算机上。
我想我需要写入 mySQL 数据库,然后在将它们连接到我的数据库后从下一台计算机读取它。但我怎样才能以最好的方式做到这一点呢?
我已经成功下载XAMPP并在mySQL中创建了一个表。还有我输入信息的字段和提交按钮。
我在以下位置收到错误:
$operationstep = $_POST['Operation step'];
$problem_detail = $_POST['Problem detail'];
Notice: Undefined index: Operation step in E:\xampp\htdocs\avvikelse.php on line 21
Notice: Undefined index: Problem detail in E:\xampp\htdocs\avvikelse.php on line 22
Notice: Undefined variable: operation_step in E:\xampp\htdocs\avvikelse.php on line 25 Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'step, Problem detail) VALUES ('', '',' at line 1
// blabla, connetcting...
$operationstep = $_POST['Operation step'];
$problem_detail = $_POST['Problem detail'];
$sql = "INSERT INTO avvikelsekort (Operation step, Problem detail) VALUES
('$operation_step', '$problem_detail')";
if (!mysql_query($sql)) {
die('Error: ' .mysql_error());
}
mysql_close();
?>
我现在按照你说的 Marco 做了,我得到了 Array(0) {} 我的表单看起来像这样
<form action="avvikelse.php" method="POST" />
<p>Operation step: <input type="text" name"Operation step" /></p>
<p>Problem detail: <input type="text" name"Problem detail" /></p>
<input type="submit" value="Submit" />
</form>
最佳答案
如果您在字段名称中使用空格,则必须使用反引号。
更多,如果你调用变量
$operationstep = $_POST['Operation step'];
$problem_detail = $_POST['Problem detail'];
您的查询应该是
$sql = "INSERT INTO avvikelsekort (`Operation step`, `Problem detail`) VALUES
('$operationstep', '$problem_detail')";
最后但并非最不重要的一点是,请记住您必须始终清理用户输入以避免 SQL 注入(inject)!
已编辑:
你的表格是错误的。试试这个:
<form action="avvikelse.php" method="POST" />
<p>Operation step: <input type="text" name="Operation step" /></p>
<p>Problem detail: <input type="text" name="Problem detail" /></p>
<input type="submit" value="Submit" />
</form>
关于php - 读取和写入 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11427585/