PHP更新查询不起作用

时间:2013-08-11 05:49:20

标签: php mysql mysqli

作为一项任务,我的老师给了我(高中10年级)使用html和php创建登录表单,因为我们刚刚开始学习PHP我已经取得了进步,这是我的第一次尝试。我稍后会介绍更安全的选项。

<?PHP

//Create the connection…
//("where the database is", 'Database login' , 'database password' , "Database name")
$con=mysqli_connect("", 'root', 'root', "Social");

//Check our connection…
if (mysqli_connect_errno($con))
{
    echo " Sorry Mate";
}
$username = $_POST[username];
$password = $_POST[pawd];

$result = mysqli_query($con, "SELECT * FROM User_info");
$row = mysqli_fetch_array($result);
$value = $row['username'];
if($value == "$username")
{
    $result = mysqli_query($con, "SELECT * FROM User_info");
    $row = mysqli_fetch_array($result);
    $value = $row['password'];
    if($value == "$password")
        {
        $sql=("UPDATE user_check SET user = '1' ");
        $sql=("UPDATE user_check SET name = '$username' ");
        header( 'Location: feed.php' ) ;
        }
        else
        {
        header( 'Location: social.php' ) ;
        }
}
else
{
header( 'Location: social.php' ) ;
}

if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }
mysqli_close($con);
?>

它说的地方

        $sql=("UPDATE user_check SET user = '1' ");
    $sql=("UPDATE user_check SET name = '$username' ");

第一个将工作并将数据库更新为1但是第二个没有检查列的名称更改了变量$ sql和$ username的名称它仍然无法工作是否有任何建议?提前谢谢:D

2 个答案:

答案 0 :(得分:0)

您首先将$_POST['username']与结果中的username列进行比较,然后尝试更新数据库中的name列。我的猜测是:

$sql = ("UPDATE user_check SET name = '$username' ");

应该是:

$sql = ("UPDATE user_check SET username = '$username' ");

答案 1 :(得分:0)

这看起来很奇怪:

    $sql=("UPDATE user_check SET user = '1' ");
    $sql=("UPDATE user_check SET name = '$username' ");

第二行将覆盖前一个存储的值。

尝试放一个         死亡($ SQL)

在您调用SQL的行之前,查看您认为正在运行的是您正在运行的内容。