2012-02-21 4 views
0

私はPHPベースのMySQLクエリに動的に挿入するAgreeNumという単一のセッション変数を持っています。私はAgreeNumという2番目のセッション変数を追加しようとしていますが、2番目の変数を追加する正しい構文を理解できませんか?私はsprintfの上でこれを更新しようとした追加のセッション変数を使用してPHPベースのMySQLクエリを拡張しますか?

$ParamAgreeNum_WADAsarenewals = "-1"; 
if (isset($_GET['AgreeNum'])) { 
    $ParamAgreeNum_WADAsarenewals = (get_magic_quotes_gpc()) ? $_GET['AgreeNum'] : addslashes($_GET['AgreeNum']); 
} 
$ParamEmail_WADAsarenewals = "-1"; 
if (isset($_GET['Email'])) { 
    $ParamEmail_WADAsarenewals = (get_magic_quotes_gpc()) ? $_GET['Email'] : addslashes($_GET['Email']); 
} 
mysql_select_db($database_home, $home); 
$query_WADAsarenewals = sprintf("SELECT AgreeNum, sName, Address1, CityStZip, Email, EffectiveDate, Year1, Year2, Year3, Year4, YearPick, authid, ccinfo FROM sarenewals WHERE AgreeNum = %s", GetSQLValueString($ParamAgreeNum_WADAsarenewals, "text")); 

、それは動作しません:

$query_WADAsarenewals = sprintf("SELECT AgreeNum, sName, Address1, CityStZip, Email, EffectiveDate, Year1, Year2, Year3, Year4, YearPick, authid, ccinfo FROM sarenewals WHERE AgreeNum = %s", GetSQLValueString($ParamAgreeNum_WADAsarenewals, "text") " AND Email = %s", GetSQLValueString($ParamEmail_WADAsarenewals, "text")); 
+1

ない私はあなたのアプローチに従いますが、あなたは間違いなく時間確認をタイプミス。 if(isset($ _ GET ['AgreeNum'])){$ _GET ['Email'] get/setの値が続いています。あなたの本当の問題は、MySQLではなくsprintf()であると思われます。 –

+0

はい、正しいです...それはタイプミスでした。この2番目のParamをsprintfステートメントに正しく追加するにはどうすればよいですか? コードをsprintfで更新しましたが、まだ動作しません。 –

答えて

1

あなたが持っている。ここスニペットは毎回私が追加しようとWHERE句の後にそれが吹くまで、あります引数として使用されている変数を通過する前に、完全な文字列を書き込みます:

sprintf("SELECT AgreeNum, sName, Address1, CityStZip, Email, EffectiveDate, 
Year1, Year2, Year3, Year4, YearPick, authid, ccinfo 
FROM sarenewals 
WHERE AgreeNum = %s AND Email = %s", 
GetSQLValueString($ParamAgreeNum_WADAsarenewals, "text"), 
GetSQLValueString($ParamEmail_WADAsarenewals, "text")); 
+0

すごく、ありがとう! –

1
$query_WADAsarenewals = sprintf(
    "SELECT AgreeNum, sName, Address1, CityStZip, Email, EffectiveDate, Year1, Year2, Year3, Year4, YearPick, authid, ccinfo 
    FROM sarenewals 
    WHERE AgreeNum = %s AND Email = %s", 
    GetSQLValueString($ParamAgreeNum_WADAsarenewals, "text"), 
    GetSQLValueString($ParamEmail_WADAsarenewals, "text") 
);