2014-04-14 85 views
0

我有以下問題:MySQL與數據庫的連接

我無法打開數據庫連接。有人可以告訴我,如果我有這個MySQL命令,我的數據庫配置必須如何?

$dh = new DB('table'); 
$dh->Query("SELECT * FROM cars WHERE carname LIKE '%{$term}%'"); 

我已經嘗試過這樣的事情:

$dh = new DB("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass); 

,但它不工作。

那麼如何以及在哪裏放置我的主機,dbpass和dbuser呢?

這裏是我的完整代碼:

if(empty($_REQUEST['term'])) 
     exit; 

$term = $_REQUEST['term']; 

$dh = new DB('table'); 
$dh->Query("SELECT * FROM cars WHERE carname LIKE '%{$term}%'"); 

$result = array(); 
$result['results'] = array(); 
$result['count'] = 0; 
while($carname = $dh->FetchArray()){ 
     $result['count']++; 
     $result['results'][] = $carname; 
} 
header('Content-type: application/json'); 
echo json_encode($result); 

我想要得到的結果返回給JSON。

但控制檯說:

GET http://192.168.50.200:8888/XX/XX/source.php?term=XX 500 (Internal Server Error) 

是因爲我沒有連接到數據庫?

+1

這是什麼語言啓用PDO? PHP? – Nzall

+0

LIKE'$ term $'?回聲查詢是否卡住,並注意'%...'總是效率低下,因爲它不能使用索引。 '...%'可以使用索引。 – Strawberry

+1

你讓我們猜測:1)編程語言2)數據庫庫2)你有這個問題 –

回答

2

如果你的語言是PHP,直接使用以下命令:如果你正在使用PHP核心,那麼你可以使用下面的代碼 -

<?php 

mysql_connect("host_name","username","password") or die("server not connected"); 
mysql_select_db("database_name") or die("database not connected2"); 

?> 

,如果你是建立與數據庫的連接

$connection=mysql_connect("hostname","username","password"); // Try using localhost for hostname 

$db=mysql_select_db("db_name"); 

$query=mysql_query("SELECT * FROM cars WHERE carname LIKE '%{$term}%'"); 
+0

他使用某種框架我不會建議他使用這種純粹的mysql查詢 – Touchpad

+0

可能他不知道甚至連基本的mysql查詢連接,這就是爲什麼我建議他,那樣的話 – Winchester

+0

我會告訴他關於PDO而不是過時的mysql_query – Touchpad

0

在wordpress中工作,然後使用以下代碼 -

<?php 
require_once('/path/to/wp-load.php'); 

global $wpdb; 

$result = $wpdb->get_results("SELECT * FROM cars WHERE carname LIKE '%'".$term."'%'"); 
?> 
+0

mysql_ *已棄用,不應再使用 –

+0

mysql_ *在PHP 5.5中不推薦使用*也許他使用5.4。* –

+0

mysql _ *的目標替代品mysqli_ *已出現自從2004年發佈的php 5.0以來。 – Eric

1

假設您使用PHP和PDO,這是你應該如何創建連接

$db = new PDO('mysql:host=' . $db_host . ';dbname=' . $db_name, $db_user, $db_pass); 
$sth = $db->prepare("SELECT * FROM cars WHERE carname LIKE '%:term%'"); 
$sth->bindParam(':term', $term)); 
$sth->execute(); 

另外,還要確保你已經在你的php.ini文件