我无法使用php更新数据库

时间:2014-06-25 12:20:27

标签: php mysqli

由于某种原因,我无法更新我的数据库。谁能发现我做错了什么? 这是代码。

.......

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

4 个答案:

答案 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));

?>