我有一个用户注册表表格。表单将日期发送到InsertUser.php,这是下一个文件:
<?php
$link = mysql_connect("localhost", "root", "");
if (!$link) {
echo("ERROR");
}
else {
if (!mysql_select_db("myfacebook", $link)) {
echo("ERROR");
}
else {
$Consulta = "insert into usuarios(Nombre,Apellidos,Nick,Contraseña,Foto) values('" . $_POST["nombre"] . "','" . $_POST["apellidos"] . "','" . $_POST["nick"] . "','" . $_POST["contraseña"] . "','PruebaFoto')";
echo $Consulta;
$resultado = mysql_query($Consulta, $link) or die("Problema al insertar los datos.");
echo($resultado);
}
}
?>
当我发送和插入数据时,该表单返回“ Problema al insertar los datos”。
我认为函数mysql_query()是问题,但我不知道修复问题。
请帮忙!
最佳答案
让我们清理一下,使它更容易看到发生了什么
<?php
$link = mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("myfacebook", $link) or die(mysql_error());
$Consulta = "insert into usuarios(Nombre,Apellidos,Nick,Contraseña,Foto) values('".mysql_real_escape_string($_POST["nombre"])."','".mysql_real_escape_string($_POST["apellidos"])."','".mysql_real_escape_string($_POST["nick"])."','".mysql_real_escape_string($_POST["contraseña"])."','PruebaFoto')";
if($sql = mysql_query($Consulta)) {
echo 'success';
} else {
echo 'error';
}
您需要对输入进行转义,以便不接受SQL注入。我使用了
mysql_real_escape_string()
。您应该学习
mysqli
或POD
而不是mysql
。在我的示例中,我使用
die()
只是为了保持内容整洁和易于理解。关于mysql - 我无法访问MySql表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18676420/