2016-11-18 93 views
0

功能在main.php文件如何通過一個PHP變量到一個SQL SELECT查詢

public function get_email_details($email, $table_name) 
{ 
    $query_verify_email = "SELECT * FROM $table_name where u_email='$email'"; 
    $result = mysqli_query($this->connection,$query_verify_email) or die(mysql_error()); 
    return $result; 
} 

,我用這個

$result_get_email_details = $Object->get_email_details($email, $table_name); 
$rows=mysql_fetch_array($result_get_email_details); // It is showing me error on this line 

錯誤我稱之爲:mysql_fetch_assoc( )期望參數1是資源,在上面給出的對象之後,我評論。

請幫我出哪裏是在這個SQL查詢

+1

試試這樣'where u_email ='{$ email}'' –

+3

'mysqli' and'mysql' ??? ???你不能同時使用兩者。順便說一句'mysql'已被棄用。 – Manikiran

+1

更具體地說,您的問題是如何將變量傳遞給SQL,http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php。 – chris85

回答

5

那麼你正在使用mysql_fetch_query錯誤...

豈不是mysqli_fetch_query。注意mysql中缺少的i

0

使用此,

$result_get_email_details = $Object->get_email_details($email, $table_name); 
$rows=mysqli_fetch_array($result_get_email_details); 
0

嘗試使用foreach($rows as $row)因爲$行是數組的集合。它不是一個單一的字符串。

-1

mysqli_fetch_array()需要兩個參數,請嘗試將您連接和查詢對象

mysql_fetch_array($this->connection, $result_get_email_details); 
+1

不,它不會http://php.net/manual/en/mysqli-result.fetch-array.php和'mysql_ *'不能與'mysqli'一起使用。 – chris85

-2
$query = "SELECT * FROM " .$table_name. " where u_email=".$email; 
$result = mysqli_query($connection_variable, $query); 
mysqli_fetch_array($result ,MYSQL_ASSOC); 
+1

不工作和答案應該有一個解釋。電子郵件將始終是一個字符串,因此需要引用它。還有SQL注入,這和OP一樣。 – chris85

+0

知道請檢查一下 –

+0

你應該提供你的答案解釋,這將有助於OP瞭解你的答案。僅提供代碼將無助於OP。 –

1

請使用mysqli_fetch_query,而不是mysql_fetch_query

在這裏,你在錯過你的代碼。請改變這一點。

相關問題