2016-04-20 19 views
2

因此,我安裝了這個頭號腳本佈局和一切,並在困境腳本內有一個set.php文件,我試圖設置,它看起來像這樣:表'databasename.info'不存在

<?php 
$sitename = "csgoxd.net"; 
$link = @mysql_connect("localhost:3306", "csgoxdne", "thisisasecretpassword"); 
$db_selected = mysql_select_db('csgoxdne_csgoxddb', $link); 
mysql_query("SET NAMES utf8"); 

function fetchinfo($rowname,$tablename,$finder,$findervalue) { 
    if($finder == "1") $result = mysql_query("SELECT $rowname FROM $tablename"); 
    else $result = mysql_query("SELECT $rowname FROM $tablename WHERE `$finder`='$findervalue'") or die (mysql_error()); 
    $row = mysql_fetch_assoc($result); 
    return $row[$rowname]; 
} 
?> 

所以我是新的,當涉及到編碼一般(我知道一些基本的東西,但就是這樣),所以基本上我不知道如果我應該填寫更多的這個文件,因爲我得到這個我的網站上出現錯誤。

「表‘csgoxdne_csgoxddb.info’不存在」

我是新來這個,我試圖瞭解這樣的幫助深表感謝。

+1

我建議你刪除此腳本,繼續前進。 'mysql _ *()'函數被正式棄用並從PHP中刪除,並且該代碼被寫入可怕。它只是假設成功,它很容易受到[sql注入攻擊](http://bobby-tables.com)的影響,它使用'@'錯誤抑制,這是(幼稚)編碼等同於將你的手指塞進耳朵和「lalalalala聽不到你」。 –

+0

那麼有沒有其他解決方案呢? –

+0

好,解決方案是找出爲什麼你的'info'表不存在,但是這不能解決這個腳本是廢話的事實。 –

回答

0

您應該使用MySQLi來利用MySQL提供的優勢。你可以看到更多here。你有的腳本並不是太糟糕,但它確實需要一些調整。像Marc B說的那樣容易注射。我假設'csgoxdne_csgoxddb'是你的表名。試試這個:

<?php 
$mysqli = new mysqli("localhost:3306", "csgoxdne", "thisisasecretpassword"); 
if (mysqli -> error){ print ("Error connecting! Message: ".$mysqli->error); } 
mysqli_set_charset($mysqli, 'utf8'); 

function fetchinfo($rowname,$tablename,$finder,$findervalue) { 
    if($finder == "1"){ 
    $query ="SELECT * FROM $tablename WHERE rowname = '$rowname'"; 
    $result = mysqli_query($mysqli, $query); 
}else{ 
    $query = "SELECT * FROM $tablename WHERE `$finder`='$findervalue'"; 
    if (!$query){die('Invalid query: '.$mysqli->error);} 
    $result = mysqli_query($mysqli, $query); 
} 
return $result; 
} 
?> 

哦,確保在本地主機端口號是正確的。

而且要經過結果的值可以使用:

if (mysqli_num_rows($result) > 0){ 
while ($row = mysqli_fetch_array($result)){ 
    #do things 
} 
} 
+0

感謝您的回答!嘗試了這一點,似乎我得到另一個錯誤: **解析錯誤:語法錯誤,意外的' - >'(T_OBJECT_OPERATOR)在第3行的/home/csgoxdne/public_html/set.php ** 第3行:if (mysqli - > error){print(「Error connections!Message:」。$ mysqli-> error); } –

+0

嘗試輸入它,而不是複製和粘貼,你可能會在某處出現一個看不見的字符,從而導致錯誤。 – Enigma

+0

好吧,會做!謝謝。 –