mysqli_fetch_row语法混乱

时间:2013-12-22 20:26:55

标签: php syntax mysqli syntax-error

我是PHP的新手,我复制了这段代码;

$sql = "SELECT userID, username, password, first_name FROM users WHERE email='$e' AND activated='1' LIMIT 1";
        $query = mysqli_query($connection, $sql);
        $row = mysqli_fetch_row($query);
        $db_id = $row[0];
        $db_username = $row[1];
        $db_pass_str = $row[2];
        $db_firstname = $row[3];

但它只是不起作用......这就是我的桌子的样子;

UserID -- username -- firstname -- lastname --  email  --------- password  

1   --    CJ_65 --    Craig -----  Johnson  --  CJ@email.com  -- passwordd 

有人可以帮帮我吗?

2 个答案:

答案 0 :(得分:6)

请谨慎使用与SQL语句一起使用的正确实现。您需要做的就是取出$ query的$ connection部分..换句话说..从这里开始:

$query = mysqli_query($connection, $sql);

到此:

$query = mysqli_query($sql);

要更好地学习文档,请查看本手册out。 MySQl是学习Web开发学习过程中迈出的一大步,但改进的唯一方法是继续练习并查找大多数语句的正确语法/输入。你有这个:))

答案 1 :(得分:-1)

由于您概述了您是PHP的新手,我建议您学习MySQLi未准备语句的预备语句。 PDO使用起来相当简单:

<?
    // Database connection details
    $connection = new PDO("mysql:host=hostNameHere; dbname=databaseNameHere", "usernameHere", "passwordHere");

    // Database query
    $stmt = $connection->prepare("
        SELECT userID, username, password, first_name 
        FROM users 
        WHERE email = ? 
        AND activated = ? 
        LIMIT 1
    ");
    $stmt->execute(array($emailValue, $activatedValue));
    $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>