0

我有一个用户注册表表格。表单将日期发送到 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);
    }
} 
?>

当我发送和插入数据时,表单返回:

“问题 al insertar los datos。”

我认为该功能mysql_query()是问题,但我不知道修复问题。

4

1 回答 1

0

让我们把它清理一下,让它更容易看到发生了什么

<?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()

你应该学习mysqliorPOD而不是mysql.

die()在我的例子中使用只是为了让事情保持清洁和易于理解。

于 2013-09-07T18:29:03.763 回答