PHP没有发布到数据库

时间:2014-01-16 21:30:10

标签: php database sql-update

我是PHP的新手。我有一个表单发布到PHP页面来更新数据库。除了更新数据库中的表外,PHP文件中的所有内容都在运行。

以下是我的PHP页面代码:

    <?php session_start();

// Connects to your Database 
mysqli_connect("xxxxxx", "xxxxxx", "xxxxxx") or die(mysqli_error()); 
mysqli_select_db("xxxxxx") or die(mysqli_error()); 

// Check connection
if (mysqli_connect_errno($con))
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$myuserid=$_SESSION[myuserid];
$mypassword=$_SESSION[mypassword];

$data = mysqli_query("SELECT * FROM registrations") or die(mysqli_error());
$info = mysqli_fetch_array( $data ); 

if ($myuserid == $_SESSION[myuserid]){
    mysqli_query("UPDATE registrations SET (att_one_relationship='$_POST[att_one_relationship]') WHERE user_id='$myuserid' AND password='$mypassword'") or die(mysqli_error());
    echo $_POST[att_one_relationship];
}

if ($info['trust_corp'] == "Yes" && $info['trust_corp_type'] == "Replacement Attorney"){
    echo $myuserid;
    echo $mypassword;
}
else{
    header("location:form5.php");
}
?>

我将UPDATE函数包装在if语句中,并回显了我要更新的内容。回声功能正常,但不是UPDATE。我还对用户ID和密码进行了回声,以证明它正在获取正确的详细信息。

如果有人可以提供任何帮助,为什么它没有更新表格,那就太棒了!


我添加了'或死(mysqli_error());'它出现了这个错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(att_one_relationship='Solicitor') WHERE user_id='1' AND password='xxxxxx'' at line 1

然后我将mysqll_的所有出现修改为mysqli_,现在出现此错误:

Warning: mysqli_select_db() expects exactly 2 parameters, 1 given in /.../update4.php on line 5

Warning: mysqli_error() expects exactly 1 parameter, 0 given in /.../update4.php on line 5

我已经用现在的内容更新了上面的代码。

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

在您的更新查询中,您使用$ _POST [att_one_relationship],但您需要在引号中包含att_one_relationship。

此外,您应该在查询中使用$ _POST ['att_one_relationship']之前将其设置为变量。

例如:

$att_one_relationship = $_POST['att_one_relationship'];
mysql_query("UPDATE registrations SET (att_one_relationship='$att_one_relationship') WHERE user_id='$myuserid' AND password='$mypassword'");

答案 1 :(得分:0)

如前所述,mysql!= mysqli(注意i)

我认为这是一个SQL错误 尝试在mysql_query的末尾添加“或die(mysql_error())”。 像这样:

mysql_query("UPDATE registrations SET (att_one_relationship='$_POST[att_one_relationship]') WHERE user_id='$myuserid' AND password='$mypassword'") or die(mysql_error());

这不会解决问题,但会显示可能的SQL错误。 如果你说,mysql_query()工作后的回声,这意味着没有FATAL错误。 也许是一个警告PHP将忽略并将继续......

试一试,看看会发生什么,然后在这里发布回复。

干杯。