我已经看过有关此问题的相关解决方案并尝试过,但这些方法都没有。 这是我更新数据库的代码,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);
?>
答案 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。