数据库不更新,mysql_error不显示错误

时间:2016-08-28 08:23:45

标签: php mysql database

我已经看过有关此问题的相关解决方案并尝试过,但这些方法都没有。 这是我更新数据库的代码,mysql_error没有显示错误的迹象。不知道该怎么做。救命啊!

    <?php 
        mysql_select_db("dbUsers");     
        if(isset($_POST['btnSave'])){

        $firstname=$_POST['firstname'];
        $lastname=$_POST['lastname'];
        $address=$_POST['address'];

        $query1 =("UPDATE `webuser` SET `firstname`='".$firstname."',
                `lastname`='".$lastname."',`address`='".$address."'
                 WHERE empNo = '".$selEmp."' ");

        $result = mysql_query($query1) or die(mysql_error());
        }
        mysql_close($conn);

   ?>

3 个答案:

答案 0 :(得分:1)

而不是使用mysql去为mysqli提供优先保护。

使用以下代码进行连接(使用其值创建变量)

$conn = mysqli_connect($servername, $username, $password, $dbname);

对于更新问题...使用

$sql = "UPDATE webuser SET firstname='".$firtname."' WHERE empNo='".$selEmp."';

并查询使用...

mysqli_query($conn, $sql)

我没有提到你的整个代码,但希望你现在明白它。

答案 1 :(得分:0)

  

像这样更改更新查询。由于不允许使用牙箍。

确保您的empNo在更新时出现。

<?php
mysql_select_db("dbUsers");     
if(isset($_POST['btnSave'])){
$selEmp = $_POST['emp_id'];
$firstname=$_POST['firstname'];
$lastname=$_POST['lastname'];
$address=$_POST['address'];
$query1 ="UPDATE `webuser` SET `firstname`='".$firstname."',
`lastname`='".$lastname."',`address`='".$address."'
WHERE empNo = '".$selEmp."'";    
$result = mysql_query($query1) or die(mysql_error());
}
mysql_close($conn);
?>

<form method="POST" action="">
    <input type="hidden" name="emp_id" value="<?php echo $data['id']; ?>" />
    <input type="text" name="firstname" value="<?php echo $data['firstname']; ?>" />
    <input type="text" name="lastname" value="<?php echo $data['lastname']; ?>" />
    <textarea name="address"><?php echo $data['address']; ?></textarea>
    <input type="submit" name="btnSave" value="UPDATE" />
</form>

答案 2 :(得分:0)

为避免SQL注入和已弃用的mysql_*函数,请将PDO与预准备语句一起使用:

define('DB_HOST', 'localhost');
define('DB_NAME', 'dbUsers');
define('DB_USER', 'your_username');
define('DB_PASSWORD', 'your_password');

try {
    //Make your connection handler to your database
    $conn = new PDO("mysql:host=".DB_HOST.";dbname=".DB_NAME, DB_USER, DB_PASSWORD, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));

    $firstname = $_POST['firstname'];
    $lastname = $_POST['lastname'];
    $address = $_POST['address'];

    $sql = "UPDATE webuser SET firstname = :firstname, lastname = :lastname, address = :address WHERE empNo = :emp_no";
    $stmt = $conn->prepare($sql);
    $stmt->execute(array(':firstname' => $firstname, ':lastname' => $lastname, ':address' => $address, ':emp_no' => $selEmp));

} catch(PDOException $e) {
    echo $e->getMessage();
    die();
}

更多信息here

相关问题