我正在创建要填写的表单并将其发送到我的数据库。
这是表格:
<form method="post" name="event" action="insertLivepro.php">
<ul>
<li> Khutbah/Lecture Title <input name="KhutbahLive" type="text" ><br></li>
<li>Date <input name="DateLive" type="date"> <br></li>
<li>Time <input name="TimeLive" type="time"> <br></li>
<li>Khutbah/Lecture By <input name="KhatibLive" type="text"><br></li>
</ul>
<input type="submit" name="submitAct" value="Submit">
<input type="reset" name="btnReset" value="Reset">
</form>
这是insertLivepro.php:
<?php
$con=mysqli_connect("localhost","root","1234","fyp");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="INSERT INTO livepro (KhutbahLive, DateLive, TimeLive, KhatibLive)
VALUES('$_POST[KhutbahLive]','$_POST[DateLive]','$_POST[TimeLive]','$_POST[KhatibLive]')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo '<script> alert ("done!") </script>';
include_once("admin.php");
mysqli_close($con);
?>
这是我的数据库:
所以我在填写表格并提交时遇到了这个错误:
错误:您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以在's Day','2014-06-13','15:30','Ustaz附近使用正确的语法。在第2行上不要')'
谢谢
最佳答案
问题是您正在通过文本框插入apostrophe
。您的问题可以通过两种方式解决。
1:尝试对每个撇号使用两个撇号。
2:在查询中使用mysql_real_escape_string
。像这样
$ sql =“ INSERT INTO livepro(KhutbahLive,DateLive,TimeLive,KhatibLive)
VALUES('mysql_real_escape_string($ _ POST [KhutbahLive])','mysql_real_escape_string($ _ POST [DateLive])','mysql_real_escape_string($ _ POST [TimeLive])','mysql_real_escape_string($ _ POST [KhatibLive])')';“;
关于php - mysql中的错误(与您的mysql对应),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23932471/