我做错了什么?我的代码不起作用
if (isset($_POST['submit'])){
$fecha = ($_POST['fecha']);//date
$hora_in = ($_POST['hora_incial']); //time
$hora_fin = ($_POST['hora_final']);//time
$comentarios =($_POST['comentarios']);//text
//inserting data order
$order = "INSERT INTO control ('Fecha','Hora_incial','Hora_final','Comentarios') VALUES('".$fecha."','".$hora_in."','".$hora_fin."','".$comentarios."')";
//declare in the order variable
$result = mysql_query($order); //order executes
if($result){
echo("<br>Input data is succeed");
} else{
echo("<br>Input data is fail");
}
}
它显示我总是失败。连接正常,但我无法插入数据
谢谢你的帮助!! :)
答案 0 :(得分:1)
删除列名称周围的引号并替换为反引号。
(`Fecha`,`Hora_incial`,`Hora_final`,`Comentarios`)
引号不能用于表名或列名
行重写:(编辑添加$con
)
if (isset($_POST['submit'])){
$fecha = mysqli_real_escape_string($con,$_POST['fecha']);//date
$hora_in = mysqli_real_escape_string($con,$_POST['hora_incial']); //time
$hora_fin = mysqli_real_escape_string($con,$_POST['hora_final']);//time
$comentarios = mysqli_real_escape_string($con,$_POST['comentarios']);//text
$order = "INSERT INTO control (`Fecha`,`Hora_incial`,`Hora_final`,`Comentarios`) VALUES('$fecha','$hora_in','$hora_fin','$comentarios')";
$result = mysqli_query($con,$order);
if(! $result )
{
die('Could not enter data: ' . mysqli_error($con));
}
else { echo "Success"; }
}
我还建议您切换到mysqli_*
使用prepared statements功能,而不是使用已弃用的mysql_*
功能。加PDO也是一种选择。
请阅读以下内容:
答案 1 :(得分:0)
将您的查询更改为
$order = "INSERT INTO control
."(Fecha,Hora_incial,Hora_final,Comentarios)"
." VALUES"
."('$fecha','$hora_in','$hora_fin','$comentarios')";
我不明白为什么你在“。$ variable”中使用点。
如果您遇到问题,请先尝试回复您的查询,例如
echo $order;
并在你的phpmyadmin中过去(如果你有的话)。