2013-04-23 55 views
-1

我正在嘗試開發一個我在因特網(搜索/自動建議)中找到的腳本。該腳本非常小,但我認爲這個問題是連接,配置文件。我發現,舊的連接樣式可以正確地使用腳本,但是如果我使用「定義」連接,那麼所有腳本停止工作,並且不顯示任何數據。用一個連接(配置)顯示數據,其他不是

舊連接

$host="aha"; 
$user="aha"; 
$pass="aha"; 
$base="aha"; 
$connect=mysql_connect($host,$user,$pass); 
mysql_select_db($base, $connect); 
?> 

定義連接不腳本工作

define("DB_HOST", "aha"); 
define("DB_NAME", "aha"); 
define("DB_USER", "aha"); 
define("DB_PASS", "aha"); 

我相信,該腳本是在很老的代碼寫的,所以我想,這應該以新的方式重寫非常小的腳本,但問題是,我該如何正確執行?

腳本

<?php 
include('config.php'); 
if($_POST) 

{ 

$q=$_POST['searchword']; 

$sql_res=mysql_query("select * from users where user_firstname like '%$q%' or user_lastname like '%$q%' order by user_id LIMIT 5"); 

while($row=mysql_fetch_array($sql_res)) 
{ 
$fname=$row['user_firstname']; 
$lname=$row['user_lastname']; 
$email=$row['user_email']; 

$re_fname='<b>'.$q.'</b>'; 
$re_lname='<b>'.$q.'</b>'; 

$final_fname = str_ireplace($q, $re_fname, $fname); 

$final_lname = str_ireplace($q, $re_lname, $lname); 


?> 

<div class="display_box" align="left"> 

<a href="http://www.google.com/"> 

<img src="user_img/y.jpg" style="width:25px; float:left; margin-right:6px" /><?php echo $final_fname; ?>&nbsp;<?php echo $final_lname; ?><br/> 
<span style="font-size:9px; color:#999999"><?php echo $email; ?></span> 

</a> 

</div> 

<?php }} else {} ?> 

我會感謝任何幫助!

回答

0

應該正常工作......只要你config.php可以正確引用變量(即它們要麼在該文件中聲明,要麼在別處聲明幷包含在config.php文件中)。

的config.php:

<? 
define("DB_HOST", "aha"); 
define("DB_NAME", "aha"); 
define("DB_USER", "aha"); 
define("DB_PASS", "aha"); 

$connect = mysql_connect(DB_HOST, DB_USER, DB_PASS); 
mysql_select_db(DB_NAME, $connect); 
?> 
+0

謝謝,這工作。但我想,我應該在pdo中寫腳本。不管怎樣,謝謝! – user2090528 2013-04-23 23:47:29

0

在你的新連接配置中,你並沒有真正建立數據庫連接,你只需定義常量。

有許多庫,抽象的數據庫層,使您的代碼的可讀性和自動化之類的東西逃逸等你或許應該看看像PDO http://php.net/manual/en/book.pdo.php

+0

,因爲我以爲,PDO是這個腳本最好的方法。然而這對我來說是個問題:)。無論如何,感謝您的幫助。 – user2090528 2013-04-23 23:30:27

相關問題