由于某种原因,我无法更新我的数据库。谁能发现我做错了什么? 这是代码。
.......
session_start();
$user = mysql_real_escape_string($_POST['user']);
$email = mysql_real_escape_string($_POST['email']);
.......
if ($errorMessage == "") {
// ---- ---- ---- ---- ---- ---- ---- ---- ---- ----- CHECKING SERVER
include('connect.php');
if (isset($user)) {
$sql = "UPDATE hookers ".
"SET user= ´$user´".
"WHERE email= ´$email´" ;
mysqli_query($con, $sql) or die("Can´t find user". mysql_error());
print "user updated";
mysqli_close($con);
}
}
connect.php file
$host = 'localhost';
$username = 'root';
$password = '';
$db = 'putas';
$con = mysqli_connect($host, $username, $password) or die("Can´t connect to server");
mysqli_select_db($con, $db) or die("Can´t connect to database");
每当我运行脚本时,它都会输出“找不到用户”。变量$ user& $ email有正确的数据,因为我已经检查了它。
我很感激你们能给我的任何帮助。
提前致谢。
Oliver Tangari
答案 0 :(得分:0)
您需要将´
的所有实例更改为'
。
答案 1 :(得分:0)
您的Sql查询将如下所示: -
$sql = "UPDATE hookers ".
"SET `user`= '$user'".
"WHERE `email`= '$email'" ;
希望它对你有所帮助......
答案 2 :(得分:0)
使用'
单引号而不是
$sql = "UPDATE hookers ".
"SET user= '$user'".
"WHERE email= '$email'" ;
答案 3 :(得分:0)
如上所述,问题是´
为什么不使用PDO和参数绑定?这不会在将来给你带来这种类型的错误。
<?php
// configuration
$dbtype = "sqlite";
$dbhost = "localhost";
$dbname = "test";
$dbuser = "root";
$dbpass = "admin";
// database connection
$conn = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass);
// new data
$user = 'Belén Esteban';
$email = 'belenesteban@telecinco.es';
// query
$sql = "UPDATE hookers
SET user=?
WHERE email=?";
$q = $conn->prepare($sql);
$q->execute(array($user,$email));
?>