2013-04-23 49 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

相关问题