Php mysql更新不会更新

时间:2014-04-12 17:11:45

标签: php mysql

我知道mysql像雅虎一样。 但是,我被要求修复一个朋友网站。首先,继承代码:

<?php
$name = $_POST['name'];
$kcid = $_POST['kcid'];

$host="localhost"; // Host name 
$username="username"; // Mysql username 
$password="password"; // Mysql password 
$db_name="dbname"; // Database name 
$tbl_name="tablename"; // Table name 

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

// update data in mysql database 
$sql="UPDATE $tbl_name SET lastname='$name' WHERE KcID='$kcid'";
$result=mysql_query($sql);

// if successfully updated. 
if($result){
echo "Successful";
echo "<BR>";
}

else {
echo "ERROR";
}

?>

当我尝试运行它时,它说成功,但它根本不编辑任何东西 talbe:

KcID | Kc | Lastname

我希望somone有一个解决方案。

如果您看到导致其无法正常工作的内容,请更正我的代码

3 个答案:

答案 0 :(得分:0)

尝试输入如下:

$sql="UPDATE {$tbl_name} SET lastname='{$name}' WHERE KcID='{$kcid}'";

没有括号,它无法理解&#39; $ name&#39;是一个php变量。

答案 1 :(得分:0)

我可以建议一些更新,以使您的代码更好更安全:

<?php
    $name = $_POST['name'];
    $kcid = $_POST['kcid'];

    $host="localhost"; // Host name 
    $username="username"; // Mysql username 
    $password="password"; // Mysql password 
    $db_name="dbname"; // Database name 
    $tbl_name="tablename"; // Table name 

    // Connect to server and select database.
    $connection = mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
    mysql_select_db($db_name, $connection)or die("cannot select DB");

    // update data in mysql database 
    $sql=sprintf("UPDATE %s SET lastname='%s' WHERE KcID='%s'", $tbl_name, mysql_real_escape_string($name), mysql_real_escape_string($kcid));
    mysql_query($sql, $connection);

?>

我不确定,但我认为问题在于您在结果中分配查询而不是实际查询。尝试这个解决方案,让我知道这是否有效。

答案 2 :(得分:0)

试试这里这里的代码包含Mysqli Query而不是MySQL,它是MYSQL的改进扩展

    <?php
$name = $_POST['name'];
$kcid = $_POST['kcid'];

$host="localhost"; // Host name 
$username="username"; // Mysql username 
$password="password"; // Mysql password 
$db_name="dbname"; // Database name 
$tbl_name="tablename"; // Table name 

// Connect to server and select database.
$con = mysqli_connect("$host", "$username", "$password","$db_name")or die("cannot connect"); 


// update data in mysql database 
$sql="UPDATE $tbl_name SET lastname='$name' WHERE KcID='$kcid'";
$result=mysqli_query($con,$sql);

// if successfully updated. 
if($result){
echo "Successful";
echo "<BR>";
}
else {
echo "ERROR";
}

?>