一个令PHP高手们无法解决的问题

一个令PHP高手们无法解决的问题

为什么这么说呢,此贴我在国内各大论坛都无法得到答案.

以下这段代码是《PHP和MySQL Web开发》一书中的一个实例:
<html>
<head>
<title>Book-O-Rama Search Results</title>
</head>
<body>
<h1>Book-O-Rama Search Results</h1>
<?php
// create short variable names
$searchtype=$_POST['searchtype'];
$searchterm=$_POST['searchterm'];

$searchterm= trim($searchterm);

if (!$searchtype || !$searchterm)
{
echo 'You have not entered search details. Please go back and try again.';
exit;
}

if (!get_magic_quotes_gpc())
{
$searchtype = addslashes($searchtype);
$searchterm = addslashes($searchterm);
}

@ $db = new mysqli('localhost', 'bookorama', 'bookorama123', 'books');

if (mysqli_connect_errno())
{
echo 'Error: Could not connect to database. Please try again later.';
exit;
}

$query = "select * from books where ".$searchtype." like '%".$searchterm."%'";
$result = $db -> query($query);

$num_results = $result -> num_rows;

echo '<p>Number of books found: '.$num_results.'</p>';

for ($i=0; $i < $num_results; $i ++)
{
$row = $result -> fetch_assoc();
echo '<p><strong>'.($i+1).'. Title: ';
echo htmlspecialchars(stripslashes($row['title']));
echo '</strong><br />Author: ';
echo stripslashes($row['author']);
echo '<br />ISBN: ';
echo stripslashes($row['isbn']);
echo '<br /> Price: ';
echo stripslashes($row['price']);
echo '</p>';
}

$result -> free();
$db -> close();

?>
</body>
</html>

我运行它后,只能显示<h1></h1>中的文字,而楼据无法执行。
代码总是在@ $db = new mysqli('localhost', 'bookorama', 'bookorama123', 'books');停止(用zend调试)。

我用zend调试后提示:调试错误:E:\AppServ\www\Source\11\results.php 行 26 - Class 'mysqli' not found

如果我把new mysql换成mysql_connect,则提示我:调试错误:E:\AppServ\www\Source\11\results.php 行 26 -

Call to undefined function mysql_connect()

我运行台湾孙仲岳和黄崇闵老师的教学实例时也一样,无法显示数据。

可我用dreamweaver自动生成的连接可以执行。

请教各位高手为我指点。求求大家了,否则我PHP可真学不下去了。

我用的是AppServ组件

谢谢

Class 'mysqli' not found 是不是你的mysqli扩展没有装载入来
毕业了。。。

楼上正解,我也是看这书,解决办法是,打开php.ini

1.先看看extension=php_mysql.dll,去掉前面的";"
2.添加extension=php_mysqli.dll;

重新启动服务。

楼主不厚道,别人回答了你的问题连个谢字也不会说?
后xx年代的垃圾!