MYSQLIクエリプリペアドステートメントに問題があります。ポスト値に基づいてコードを除外したいと思います。ここでプリペアドステートメントの変数からの動的フィルタの使用
は私のコードは私の成果はのMysqli上の動的フィルタは、書類を作成して$フィルターを使用することです
$arrfilter = array();
if(!empty($_POST['website'])){
$website = $conn->real_escape_string($_POST['website']);
array_push($arrfilter,"website='$website'");
}
if(!empty($_POST['gamename'])){
$gamename = $conn->real_escape_string($_POST['gamename']);
array_push($arrfilter,"gamename='$gamename'");
}
if(!empty($_POST['action'])){
$action = $conn->real_escape_string($_POST['action']);
array_push($arrfilter,"action='$action'");
}
if(count($arrfilter) > 0){
$filter = implode(' and ',$arrfilter);
}
$fdate= "%$date%";
$sql = "SELECT url,referrer,ip,user_agent,action,date FROM cpa_track WHERE date LIKE ? and ? ORDER BY date DESC";
$process = $conn->prepare($sql);
$process->bind_param('ss',$fdate,$filter);
$process->execute() or die("Error: ".$conn->e
rror);
$process->store_result();
です。私はこの
Fatal error: Call to a member function bind_param() on a non-object
'SELECT url、referrer、ip、user_agent、action、date FROM cpa_track where like LIKE? %$ date%ORDER BY date DESC'は有効ではありません。sql – bassxzero
@bassxzeroまた、プリペアドステートメントを正しく使用しません。 – GrumpyCrouton
@bassxzero。とにかくbind_paramとして%$ date%を入れました。私はちょうど条件付きで$フィルタ値を記入する必要があります。 –