-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 {} ?>

如果有任何帮助,我将不胜感激!

4

2 回答 2

0

在您的新连接配置中,您实际上并没有建立数据库连接,您只是定义了常量。

有许多库抽象了数据库层,以帮助使您的代码更具可读性和自动化转义等操作。您可能应该查看类似 pdo http://php.net/manual/en/book.pdo.php

于 2013-04-23T23:25:52.350 回答
0

应该可以正常工作...只要您的 config.php 可以正确引用变量(即,它们要么在该文件本身中声明,要么在其他地方声明并包含在 config.php 文件中)。

配置.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);
?>
于 2013-04-23T23:36:57.663 回答