我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: PHP疑难(在风中问了3个星期都无解,这里哪位大侠搞定了感激不尽) 隐藏签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

neveredge





性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
发贴: 371
威望: 0
浮云: 1138
在线等级:
注册时间: 2006-11-10
最后登陆: 2009-06-05

5come5帮你背单词 [ vary /'v/əri/ v. 有变化,相异,改变,变更 ]


PHP疑难(在风中问了3个星期都无解,这里哪位大侠搞定了感激不尽)

为什么PHP连不上MySQL?我用的是书(PHP and MySQL Web Development第三版)上的源程序,怎么还不行啊~苦恼~~
其中有一句 "$db = new mysqli('localhost', 'bookorama', 'bookorama123', 'books');"
提示:Fatal error: Trying to clone an uncloneable object of class mysqli in D:\RUIOA\webroot\results.php on line 26
(libmysqli.dll已经复制到C:\WINDOWS下了)
php.ini中已有"extension=php_mysqli.dll"它的;号已经去掉.完整代码另复
顶端 Posted: 2006-11-10 16:07 | [楼 主]
neveredge





性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
发贴: 371
威望: 0
浮云: 1138
在线等级:
注册时间: 2006-11-10
最后登陆: 2009-06-05

5come5帮你背单词 [ flexibility /fl/ksə'biləti/ n. 柔韧性,弹性,(光的)折射性,灵活性 ]


代码如下:
<?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();
?>
顶端 Posted: 2006-11-10 16:07 | [1 楼]
neveredge





性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
发贴: 371
威望: 0
浮云: 1138
在线等级:
注册时间: 2006-11-10
最后登陆: 2009-06-05

5come5帮你背单词 [ moss /mos/ n. 苔藓,青苔 ]


这是配套的html,哪位能不能在自己的电脑上试一下
<html>
<head>
<title>Book-O-Rama Catalog Search</title>
</head>

<body>
<h1>Book-O-Rama Catalog Search</h1>

<form action="results.php" method="post">
Choose Search Type:<br />
<select name="searchtype">
  <option value="author">Author</option>
  <option value="title">Title</option>
  <option value="isbn">ISBN</option>
</select>
<br />
Enter Search Term:<br />
<input name="searchterm" type="text">
<br />
<input type="submit" value="Search">
</form>

</body>
</html>
顶端 Posted: 2006-11-10 16:08 | [2 楼]
sunbin



特殊贡献奖 爱心大使勋章
性别: 帅哥 状态: 该用户目前不在线
等级: 资政组
发贴: 3649
威望: 11
浮云: 202
在线等级:
注册时间: 2005-10-18
最后登陆: 2024-07-05

5come5帮你背单词 [ area /'/əriə/ n. 地区,面积,范围,领域 ]


光是这两段代码肯定是运行不起的。
请把定义mysqli类的源码发上来。

results.php用的是自定义的数据库查询函数,函数被定义在mysqli类中。
假设定义mysqli类的文件名为mysql.php(我假设的),还应该在results.php加入
require_once('mysql.php');

蝈蝈在吗?


[ 此贴被sunbin在2006-11-10 19:11重新编辑 ]
顶端 Posted: 2006-11-10 16:53 | [3 楼]
disneycheng



性别: 帅哥 状态: 该用户目前不在线
头衔: Piano Prince
等级: 荣誉会员
发贴: 1971
威望: 1
浮云: 413
在线等级:
注册时间: 2005-12-16
最后登陆: 2008-06-29

5come5帮你背单词 [ shuttle /'Λtl/ n. 定期的短程穿梭工具,可重复使用的太空船,航天飞机,梭 ]


可惜不懂php哦。
Disney
顶端 Posted: 2006-11-10 18:46 | [4 楼]
neveredge





性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
发贴: 371
威望: 0
浮云: 1138
在线等级:
注册时间: 2006-11-10
最后登陆: 2009-06-05

5come5帮你背单词 [ realize /'riəlaiz/ vt. 认识到,了解,实现 ]


源码在哪呢?(我是初学者,很多不懂)
我在php.ini中设置了"extension=php_mysqli.dll"应该是加载了mysqli类的,不明白......
顶端 Posted: 2006-11-10 23:14 | [5 楼]
sunbin



特殊贡献奖 爱心大使勋章
性别: 帅哥 状态: 该用户目前不在线
等级: 资政组
发贴: 3649
威望: 11
浮云: 202
在线等级:
注册时间: 2005-10-18
最后登陆: 2024-07-05

5come5帮你背单词 [ meat /mi:t/ n. 肉 ]


Quote:
引用第5楼neveredge于2006-11-10 23:14发表的:
源码在哪呢?(我是初学者,很多不懂)
我在php.ini中设置了"extension=php_mysqli.dll"应该是加载了mysqli类的,不明白......


这个不是配置的问题。
是少了一个文件。
你再找找看.............
顶端 Posted: 2006-11-10 23:32 | [6 楼]
X



社区建设奖
性别: 帅哥 状态: 该用户目前不在线
头衔: 这一刻,我......
等级: 管理员
家族: 活动仔
发贴: 22586
威望: 10
浮云: 142
在线等级:
注册时间: 2005-10-10
最后登陆: 2024-04-15

5come5帮你背单词 [ exercise /'eksəsaiz/ a. 锻炼,运动,练习,习题,行使,运用;v. 锻炼,训练,运动;vt. 权力,能力 ]


建议蝈蝈把全部文件打包上传,当然还有建数据库的PHP文件~

1:看变量名有没有错的
2:多利用echo 和//来自己找错误~
5COME5鬼门开

又回到对着电脑无限刷新5C的年代了
3级杀毒光环
顶端 Posted: 2006-11-11 15:25 | [7 楼]
马甲之王





性别: 帅哥 状态: 该用户目前不在线
等级: 初出茅庐
发贴: 65
威望: 0
浮云: 1105
在线等级:
注册时间: 2006-11-08
最后登陆: 2008-05-06

5come5帮你背单词 [ thirteen /'θə:'ti:n/ num. 十三 ]


即使是书上的原码也不一定就完全正确
$result = $db->query($query);
这句明显有问题
顶端 Posted: 2006-11-11 17:39 | [8 楼]
马甲之王





性别: 帅哥 状态: 该用户目前不在线
等级: 初出茅庐
发贴: 65
威望: 0
浮云: 1105
在线等级:
注册时间: 2006-11-08
最后登陆: 2008-05-06

5come5帮你背单词 [ discourage /dis'kΛrid3ə/ vt. 使泄气,劝阴 ]


Quote:
引用第3楼sunbin于2006-11-10 16:53发表的:
光是这两段代码肯定是运行不起的。
请把定义mysqli类的源码发上来。

results.php用的是自定义的数据库查询函数,函数被定义在mysqli类中。
假设定义mysqli类的文件名为mysql.php(我假设的),还应该在results.php加入
.......

mysqli是 php5的预定义类
顶端 Posted: 2006-11-11 17:42 | [9 楼]
neveredge





性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
发贴: 371
威望: 0
浮云: 1138
在线等级:
注册时间: 2006-11-10
最后登陆: 2009-06-05

5come5帮你背单词 [ worthy /'wə:ði/ a. 值得尊敬的,值得注意的,值得…的,足以…的 ]


所有的文件献上
附件: s.rar (2 K) 下载次数:0

顶端 Posted: 2006-11-13 13:27 | [10 楼]
neveredge





性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
发贴: 371
威望: 0
浮云: 1138
在线等级:
注册时间: 2006-11-10
最后登陆: 2009-06-05

5come5帮你背单词 [ scissors /'sizəz/ n. 剪子 ]


Quote:
引用第8楼马甲之王于2006-11-11 17:39发表的:
即使是书上的原码也不一定就完全正确
$result = $db->query($query);
这句明显有问题

$db->query($query) 返回的是一个数据库查询结果集 相当于mysql_query函数,应该没错.
关键在那个提示上:Fatal error: Trying to clone an uncloneable object of class mysqli in D:\RUIOA\webroot\results.php on line 26
为什么预定义的类会无法复制呢???
顶端 Posted: 2006-11-13 13:34 | [11 楼]
neveredge





性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
发贴: 371
威望: 0
浮云: 1138
在线等级:
注册时间: 2006-11-10
最后登陆: 2009-06-05

5come5帮你背单词 [ perceive /pə'si:v/ vt. 察觉,感知,领悟 ]


各位高人~
顶端 Posted: 2006-11-13 22:37 | [12 楼]
图片中的数字




性别: 保密 状态: 该用户目前不在线
等级: *
发贴: *
威望: *
浮云: *
在线等级:
注册时间: *
最后登陆: *

5come5帮你背单词 [ unfortunately /Λn'fo:tənitli/ a. 使人遗憾的,不幸的 ]


Quote:
引用第11楼neveredge于2006-11-13 13:34发表的:

$db->query($query) 返回的是一个数据库查询结果集 相当于mysql_query函数,应该没错.
关键在那个提示上:Fatal error: Trying to clone an uncloneable object of class mysqli in D:RUIOAwebrootresults.php on line 26
为什么预定义的类会无法复制呢???

我推测是这样的
本来$reslut得到的是一个数据库查询结果,
但是你使用 $reslut-> 又把它当作一个对象了(但是它不是对象....)
当然不能clone了
顶端 Posted: 2006-11-14 12:26 | 美国 [13 楼]
neveredge





性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
发贴: 371
威望: 0
浮云: 1138
在线等级:
注册时间: 2006-11-10
最后登陆: 2009-06-05

5come5帮你背单词 [ law /lo:/ n. 法律,法规,法制,定律,规律 ]


Quote:
引用第13楼图片中的数字于2006-11-14 12:26发表的:

我推测是这样的
本来$reslut得到的是一个数据库查询结果,
但是你使用 $reslut-> 又把它当作一个对象了(但是它不是对象....)
当然不能clone了

我觉得不是的,出错是在26行,内容如下:$db = new mysqli('localhost', 'bookorama', 'bookorama123', 'books');
提示的是不能clone"mysqli"这个类,我想和结果集无关.
顶端 Posted: 2006-11-14 12:43 | [14 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.013095(s) query 5, Time now is:11-24 01:26, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号