2015-09-25 130 views
0

我正在做一個像下面的MySql查詢,它的工作原理,但我不得不添加很多'@'我想知道如何正確地做到這一點?如何正確查詢MySQL數據庫

$query="SELECT * FROM `facebook` ORDER by rand() LIMIT 1"; 
$result=mysql_query(@$query) or die(mysql_error()); 
$topic = htmlentities(mysql_result(@$result,@$i,"topic")); 
$name = htmlentities(mysql_result(@$result,@$i,"name")); 
$file = htmlentities(mysql_result(@$result,@$i,"file")); 
$description = htmlentities(mysql_result(@$result,@$i,"description")); 

以下是我拼湊起來的輸出:

$params = array(
    "message" => ("". $topic .""), 
    "link" => "http://www.example.com", 
    "picture" => ("http://www.example.com/facebook/file-uploading/uploads/". $file .""), 
    "name" => ("". $name .""), 
    "caption" => "WWW.EXAMPLE.COM", 
    "description" => ("". $description ."") 
); 

謝謝

+1

如果你正在尋找「正確」的方式,那麼忘記你正在做的一切,並使用正確的api。 'mysql_ *'函數不推薦使用,不安全。 –

+0

爲什麼你要添加'@'s如果它工作? – chris85

+1

使用PDO或MySQLi! –

回答

0

我假設你正在使用PHP。我經常使用PDO,這是我通常做的。

//PDO Connection 
$connection = new PDO("MYSQL:host=localhost; dbname=mydb","userName","password"); 

//Query 
$stmt = $connection->prepare("SELECT * FROM myTable WHERE id = ?"); 
//Execute query passing in parameter for id 
$stmt->execute(array(5)); 
//Get Result 
$result = $stmt->fetchAll(PDO::FETCH_ASSOC); 

我曾經使用MSQII,但最近很喜歡與PDO合作。

+0

我沒有PDO。 – Freejoy

+0

你的意思是你的服務器上沒有安裝PDO模塊?或者它在你的服務器上不活躍?或者你不使用PHP? – user2684521

+0

@ user2533583安裝PDO。免費。 – Barmar