2015-11-04 86 views
-1

我對一些PHP和MYSQL代碼有問題。php mysql沒有結果

<?php 
if(isset($_GET['article_id'])) 
{ 

require('../config.php'); 

$opdracht = "SELECT * FROM app WHERE article_id = " . $article_id; 
$resultaat = mysqli_query($mysqli, $opdracht); 

if($rij = mysqli_fetch_array($resultaat)) 
{ 
?> 

他從一個特定的ID在數據庫中保存的信息:

<?php echo $rij['bericht']; ?> 

} else { 

echo "Fout bij ophalen: <br/>"; 
echo $opdracht ."<br/>"; 
echo mysqli_error($mysqli). "<vr/>"; 

通過回聲的錯誤,我得到這樣的:

警告:mysqli_error()預計參數1是資源, null給出..而我沒有看到東西

更新:

他自動進入else語句。這是我的配置:

<?php // database logingegevens $db_hostname = '****'; $db_username = '****';   $db_password = '****'; $db_database = '*****'; // maak de database-verbinding  $mysql = mysqli_connect($db_hostname, $db_username, $db_password, $db_database); 

怎麼了?

朱利安

+0

這就是我們需要知道'config.php'裏面的內容。我們不知道您使用哪個API進行連接。基本上,您的查詢失敗。 –

+0

似乎你發這個''>>>'
' –

+4

錯誤意味着'$ mysqli'要麼從未創建,要麼數據庫連接失敗。 – samlev

回答

-2

你的變量$article_id從未設置(至少在此代碼段)。

您應該使用$_GET['article_id'];

$opdracht = "SELECT * FROM app WHERE article_id = " . $_GET['article_id']

你也永遠不應該在這樣的SQL語句中使用的變量。閱讀關於binding variables以防止sql注入。

+2

不,不,他真的不應該。這是打開他的代碼到SQL注入。至少,他應該使用綁定參數,並且_never_直接在SQL語句中添加用戶指定的參數。 – andrewsi

+0

你是對的。我只是提到$ _GET ['article_id']。不是sql語句的正確方法。 – MitsakosGR

+0

即使它不安全,這個答案在一定程度上是正確的。我們無法知道是否分配了'$ article_id',或者它們的連接文件的內容。順便說一句,我沒有downvote這個。 –