我有一個現有的查詢,它使用sprintf將php和mysql合併到自定義MySQL查詢中。在PHP中使用sprintf的MySQL查詢
這個偉大的工程:
$query_EmpVSP = sprintf("SELECT * FROM HTG_VSP WHERE HomeOfEmpNumber IS NULL OR HomeOfEmpNumber = '' OR HomeOfEmpNumber = %s", GetSQLValueString($colname_EmpVSP, "text"));
我需要添加第二或語句稱爲CustomForEmpNumber另一列,並想重新使用$ colname_EmpVSP值。
當我添加
. "OR HomeOfEmpNumber = %s", GetSQLValueString($colname_EmpVSP, "text"));
我在%s的
這裏得到一個無效的語法是當前查詢,顯示錯誤:
$query_EmpVSP = sprintf("SELECT * FROM HTG_VSP WHERE HomeOfEmpNumber IS NULL OR HomeOfEmpNumber = '' OR HomeOfEmpNumber = %s", GetSQLValueString($colname_EmpVSP, "text") . " OR CustomForEmpNumber = %s", GetSQLValueString($colname_EmpVSP, "text"));
你使用的是什麼mysql驅動程序?如果你使用'PDO',你可以參數化你的參數,而不用整個'sprintf()'東西。 –
我必須使用sprintf(),它的一個現有的應用程序,其他的一切都是這樣編碼的。 @austin –
所以你想要'SELECT * FROM HTG_VSP WHERE HomeOfEmpNumber IS NULL OR HomeOfEmpNumber =''OR HomeOfEmpNumber =%s OR HomeOfEmpNumber =%s'?我問,因爲我根據你發佈的內容瞭解你的最終結果有點麻煩。 –