Php MySql没有更新

Php MySql没有更新,php,Php,请帮帮我,我放弃 正在尝试更新MySql表。。 该文件是settings.php自提交文件 表格编号为: <form method="POST" action="settings.php"> First Name <input type="text" name="fname" id="set_fname" /> Last name <input type="text" name="lname" id="set_lname" /> Email:

请帮帮我,我放弃

正在尝试更新MySql表。。 该文件是settings.php自提交文件 表格编号为:

<form method="POST" action="settings.php">
  First Name <input type="text" name="fname" id="set_fname"  />
  Last name <input type="text" name="lname" id="set_lname"  />
  Email: <input type="text" name="email" id="set_email"  />
  mobile <input type="text" name="mobile" id="set_mobile" />
  Bio: <textarea name="bio" id="set_bio"  cols="" rows="5" maxlength="1000" ></textarea>
  <input type="submit" id="personal_submit" value="Update" />
</form>
我没有错

因此,我得到的回音字符串应该是正常的,但没有记录被更新; 因此,它在更新时检测不到任何问题 我在phpMyadmin中尝试了相同的查询-效果很好。 我检查了变量-它们不是空的。。 一切似乎都正常。
请帮助..此处已堆积了2天//

您实际上没有运行查询:

  $sql_personal_update=mysql_query("UPDATE members_general SET firs_name='".$fname_update."' WHERE id='".$id."' ") or die (mysql_error()) ;
$sql_personal_update=("UPDATE members_general SET firs_name='$fname_update' WHERE id='$id' ") or die (mysql_error()) ;
                     ^^^^^--- where's mysql_query()?
应该是

$sql_personal_update = mysql_query(blah blah blah) or die(mysql_error());

您实际上没有运行查询:

$sql_personal_update=("UPDATE members_general SET firs_name='$fname_update' WHERE id='$id' ") or die (mysql_error()) ;
                     ^^^^^--- where's mysql_query()?
应该是

$sql_personal_update = mysql_query(blah blah blah) or die(mysql_error());

我猜这是因为你没有真正调用mysql_查询函数

首先,试试看

$sql_personal_update=mysql_query("UPDATE members_general SET firs_name='$fname_update' WHERE id='$id' ") or die (mysql_error()) ;
还有,firs_name是一个拼写错误,还是你真的这么称呼你的数据库列

编辑:正如JoachimIsaksson所建议的,mysql_connect等已被弃用。请改用mysqli,如下所示:

$mysqli = new mysqli($db_host,$db_uname,$db_pass, $db_db) or die (mysql_error());
if($_POST['fname']){
    $sql_personal_update=$mysqli->query("UPDATE members_general SET first_name='$fname_update' WHERE id='$id' ") or die (mysql_error()) ;
    if($sql_personal_update) {
        echo "should be ok but no record is updated....Heeelppp";
    } else {
        echo "Smth is Wrong";
    }  
}

我猜这是因为你没有真正调用mysql_查询函数

首先,试试看

$sql_personal_update=mysql_query("UPDATE members_general SET firs_name='$fname_update' WHERE id='$id' ") or die (mysql_error()) ;
还有,firs_name是一个拼写错误,还是你真的这么称呼你的数据库列

编辑:正如JoachimIsaksson所建议的,mysql_connect等已被弃用。请改用mysqli,如下所示:

$mysqli = new mysqli($db_host,$db_uname,$db_pass, $db_db) or die (mysql_error());
if($_POST['fname']){
    $sql_personal_update=$mysqli->query("UPDATE members_general SET first_name='$fname_update' WHERE id='$id' ") or die (mysql_error()) ;
    if($sql_personal_update) {
        echo "should be ok but no record is updated....Heeelppp";
    } else {
        echo "Smth is Wrong";
    }  
}


谢谢大家,伙计们,我刚刚从空白处重新编码了所有页面,它工作了……不知道原因是什么……可能是连续编码的20小时……thanx.

谢谢大家,我刚刚从空白处重新编码了所有页面,它工作了..不知道原因是什么..可能是连续编码的20个小时..thanx..

Cargo cult编程警告:$db_pass您没有在那里执行任何查询。而且,由于您的变量有内容,它抛出true.alfabravo-我不相信它…将在5秒钟内检查…非常愚蠢的meI我有点难过,到目前为止我们得到了3个答案,并且所有答案都使用了不推荐的mysql\u查询…:-/@JoachimIsaksson一步一个脚印;-他在原始代码中也使用了不推荐使用的_connect和_select_db函数,因此为了一致性和易于编辑。。但你是对的,我会更新我的答案。Cargo-cult编程警告:$db_pass你没有在那里执行任何查询。而且,由于您的变量有内容,它抛出true.alfabravo-我不相信它…将在5秒钟内检查…非常愚蠢的meI我有点难过,到目前为止我们得到了3个答案,并且所有答案都使用了不推荐的mysql\u查询…:-/@JoachimIsaksson一步一个脚印;-他在原始代码中也使用了不推荐使用的_connect和_select_db函数,因此为了一致性和易于编辑。。但是你是对的,我会更新我的答案。当然我忘记了mysql_查询。但是仍然没有…我按照你的建议更新了原始问题。但是没有。尝试像我那样连接变量,也许这就是问题所在。顺便说一句,sql注入存在安全漏洞,必须保护$fname_update=$\u POST['fname'];像这样:$fname\u update=mysql\u real\u escape\u string$\u POST['fname']@user1726572 Javascript在客户机上运行,将数据库查询转义留给它听起来是个坏主意。任何一个能够手工制作请求的人都可以为大多数浏览器插入插件。@JoachimIsaksson,没错非常感谢,我会在这件事完成后更改代码。。现在没有人能注入正确的字符串当然我忘了mysql_查询…但是仍然没有…我按照你的建议更新了原始问题…但是没有…试着像我那样连接变量,也许这就是问题所在。顺便说一句,sql注入存在安全漏洞,必须保护$fname_update=$\u POST['fname'];像这样:$fname\u update=mysql\u real\u escape\u string$\u POST['fname']@user1726572 Javascript在客户机上运行,将数据库查询转义留给它听起来是个坏主意。任何一个能够手工制作请求的人都可以为大多数浏览器插入插件。@JoachimIsaksson,没错非常感谢,我会在这件事完成后更改代码。。现在没有人能注入正确的字符串