2016-04-02 11 views
0

我在做什麼錯?我想使用變量$new_msds_url。我嘗試了所有可以找到的變體,但無法使其發揮作用。PHP MYSQLI未知列'where子句中的'www.demo'

輸出:

mysqli的錯誤消息: 'where子句'
未知列 'www.demo'。
查詢正在運行是:SELECT msds_url FROM msds_table WHERE msds_url = www.demo

代碼:

<?php 

$new_msds_url = "www.demo"; 
$query = "SELECT msds_url FROM msds_table WHERE msds_url = $new_msds_url"; 

if(@mysqli_query($dbc, $query)){ 

    echo ' MYSQLI ERROR MESSAGE: <br>' . mysqli_error($dbc) . '.</p><p> The query being run was: ' . $query . '</p>'; 

} 

?> 

回答

1

第一 - 你需要在URL分機號(例如www.demo.html )? - 其次,您需要在查詢中$ new_msds_url周圍的' '

$query = "SELECT msds_url FROM msds_table WHERE msds_url = '$new_msds_url'"; 
+0

我讓你們建議的修改,這是現在我的錯誤messageMYSQLI錯誤消息: 。 正在運行的查詢是:SELECT msds_url FROM msds_table WHERE msds_url ='www.demo' – Kevin

+0

嗨 - 是的,這是我所期望的 - 假設錯誤信息迴應了查詢。這意味着錯誤在別的地方。我必須說,我不確定我是否首先得到查詢 - 但您要求數據庫在url匹配新url時選擇url。但你已經有了新的網址?因此與newurl匹配的url將與newurl變量相同。這個查詢實際上是否正確並在db中搜索正確的字段? – gavgrif

+0

我正在創建一個鏈接庫。我想知道它的鏈接已經在數據庫中。這工作。 '$ stmt = mysqli_prepare($ dbc,「SELECT msds_url FROM msds_table WHERE msds_url =?」); if($ stmt){mysqli_stmt_bind_param($ stmt,「s」,$ new_msds_url); mysqli_stmt_execute($語句); mysqli_stmt_bind_result($ stmt,$ stmt_result); mysqli_stmt_fetch($語句); if($ stmt_result){// URL已經存在$ url = FALSE; $ message_array [] =「網址匹配」; }其他{// URL不存在$ url = TRUE; $ message_array [] =「無網址匹配」; } \t mysqli_stmt_close($ stmt); }'抱歉,我不知道如何格式化它。 – Kevin