0
session_start();
include 'assets/config.php';

if(isset($_POST['username'])){

    $queryIsUsername = ("SELECT count(user) FROM users WHERE user = '$_POST['username']'"); //Error
    $actionQueryIsUsername = mysql_query($queryIsUsername);
    while($rowIsUsername = mysql_fetch_array($actionQueryIsUsername)) {
        $isUsername[] = $rowIsUsername['COUNT(user)'];
    }

    if($isUsername[0]="0"){

        header("Location: login.php?error=e1");
    }

    else{
//do stuff
}

何が悪いのかわからない、これは私のエラーです。if ステートメントを削除すると、エラーは消えました。

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /Applications/XAMPP/xamppfiles/htdocs/craftlist/index.php on line 7
4

3 に答える 3

3

に変更します

$queryIsUsername = ("SELECT count(user) FROM users WHERE user = '".$_POST['username']."'");

しかし、これは SQL インジェクションセーフではありません!

于 2013-05-08T23:45:12.140 に答える
1

配列変数を補間するときは、キー名を引用符で囲んではなりません。

個人的には連結を好みます:

"....".mysql_real_escape_string($_POST['username'])."...";

これは可能な構文の中で最も読みやすいものです。

于 2013-05-08T23:45:26.107 に答える
0
$queryIsUsername = ("SELECT count(user) FROM users WHERE user = '$_POST['username']'"); //Error

する必要があります

$queryIsUsername = ("SELECT count(user) FROM users WHERE user = '".$_POST['username']."'"); //Error

余談ですが、php mysql 拡張機能は廃止されたため、mysqli または PDO_MYSQL を調べることをお勧めします。http://www.php.net/manual/en/intro.mysql.phpを参照してください。

于 2013-05-08T23:45:51.877 に答える