2016-03-27 4 views
1
$txtEmail = $_POST['txtEmail']; 
$txtPassword = $_POST['txtPassword']; 

echo $txtEmail."<br>"; 
echo $txtPassword."<br>"; 

$DBH->prepare("SELECT * FROM adm_login_info WHERE cEmail=$txtEmail AND cPassword=$txtPassword AND cLoginStat=1 AND cLock=0 "); 
$STHA->bindparam(":txtEmail",$txtEmail); 
$STHA->bindparam(":txtPassword",$txtPassword); 
$STHA->execute(); 

私はあなたの助けが必要です、私はこれを解決しようとしています。私が逃したものがあれば私のコードをチェックしてください。致命的なエラー:定義されていないメソッドを呼び出すPDO :: bindparam()

+0

'$ STHA'とは何ですか? –

+0

どこにあなたの接続を親切に共有しているのか、あるいは$ DBH = new PDO( 'dblib:host ='。$ serverUrl。 '; dbname ='。$ serverDb、$ serverUser、$ serverPass)のようにPDOを初期化する場所です。 – chapskev

答えて

1

bindParamは、PDOステートメントのメソッドですが、未定義の変数$STHAで使用しようとしています。

データベースハンドラ(あなたの場合は$DBH->prepare(...))でSQLクエリを準備すると、PDO文が返されます。あなたは、パラメータをバインドしてクエリを実行するためにこれを使用する必要があります。また、

$STHA = $DBH->prepare(...); // prepare returns a "statement" 
$STHA->bindParam(...); // use the statement to bind your parameters 
// ... 
$STHA->execute() 

bindParamは、資本と書かれていることがわかりP.

更新:また、あなたのSQLにあなたの名前付きパラメータを使用していませんあなたはPHP変数を使っているだけです。代わりに名前付きパラメータを使用してください:

$DBH->prepare("SELECT * FROM adm_login_info 
WHERE cEmail = :txtEmail 
AND cPassword = :txtPassword AND cLoginStat=1 AND cLock=0 "); 
+0

私はそれを正しくするために何をすべきですか? $ STHAを定義済みの変数にするにはどうすればよいですか? tnx –

+0

@SchwarzSpiel私の更新された答えを見てください。 –

+0

opコード – Fabio

関連する問題