标题: PHP网页设计数据库相干成绩 [打印本页] 作者: 乐观 时间: 2015-2-16 00:28 标题: PHP网页设计数据库相干成绩 我先解释一下我的学习思路。数据|数据库|成绩 数据库相干成绩
这节将会商PHP和数据库之间最通俗的成绩。夸大地说,PHP几近可以操作明天市情上有的一切的数据库。
1. 我传闻PHP可以操作微软的SQL Server.应当如何做?
2. 我可以操作微软 Access 数据库吗?
3. 我晋级到了PHP 4, 如今我的mysql老是告知我: "Warning: MySQL: Unable to save result set in ...". 这是怎样回事?
4. 装置完同享mysql撑持后, 一装入libphp4.so Apache 就 dumps core . 这个成绩可以修复吗?
5. 为何我总失掉如许的毛病动静: : "Warning: 0 is not a MySQL result index in <file> on line <x>" or "Warning: Supplied argument is not a valid MySQL result resource in <file> on line <x>?
1. 我传闻PHP可以操作微软的SQL Server.应当如何做?
在Windows平台下, 你只需利用包里所含的ODBC驱动法式就能够了。
在Unix平台下, 你可使用Sybase-CT driver 来操作 Microsoft SQL Servers。由于它们的协定(最少绝大部分的产物) 是完整兼容的. Sybase 有一个收费的 Linux systems 版本. 对别的一些的Unix体系来讲,你能够需求接洽 Sybase,以失掉准确的库文件 . 也能够参照上面一些成绩的谜底。
2. 我可以操作 Microsoft Access数据库吗?
是的。假如你是在 Windows 9x/Me, 或 NT/2000下运转,你已有了一切必需的东西。 你可使用ODBC 和 Microsoft's ODBC drivers for Microsoft Access databases。
假如你是在 Unix 下运转PHP,想要和Windows下的 MS Access 通信,那末你需求Unix ODBC drivers. OpenLink Software 供应了一个 Unix-based ODBC drivers。 你可以下载一个试用(不外期)的 pilot 法式, 贸易版本的价钱定位在 $675
别的一种举措是利用带 Windows ODBC驱动的 SQL server来存诸数据,然后你可以用Microsoft Access (ODBC) and PHP (内置SQL Server驱动)来操作这个库。或利用另外一种文件格局, Access 和 PHP 都可以翻开的, 好比操作体系文件或dBase 数据库等。关于这 OpenLink software的Tim Hayes 写了以下的文字: 在你可使用PHP直接操作一种数据库里,利用别的的库作为两头件不是一个好的主张。
--例如用OpenLink's 驱动. 假如你的确需求两头件库, OpenLink 如今宣布了 Virtuoso (虚拟数据库引擎), 可以运转在NT, Linux 其它的 unix平台.
请参阅 website 收费下载.
另外一个胜利的典范子是利用Windows下的Mysql(经由过程mysql ODBC),来同步化 Access 数据库. Steve Lawrence 写到:
3. 我晋级到了PHP 4, 如今我的mysql老是告知我: "Warning: MySQL: Unable to save result set in ...". 这是怎样回事?
大局部如许的成绩,是由于 PHP 4 编译选项 '--with-mysql'没有标明你的Mysql的途径。 如许PHP就会利用它内建的MySQL库. 假如你的体系运转在如许的平台下, PHP 3 作为 Apache 模块, 或 auth-mysql, 它们利用别的版本的Mysql驱动,如许在两个分歧版本的Mysql客户端驱动上就会存在抵触。
从头编译PHP 4, 增添Mysql的途径信息, '--with-mysql=/your/path/to/mysql' 凡是都能处理这个成绩。
4. 装置完同享mysql撑持后, 一装入libphp4.so Apache 就 dumps core . 这个成绩可以修复吗?
假如你的Mysql是用 pthreads 毗连的,将会产生这类情形。请利用 ldd。 假如已利用, grab the MySQL tarball and 从头编译, 或 从源代码rpm编译,移去相干文件里的翻开 threaded client 代码的开关 。假如以上的两种办法都不克不及修复这个毛病,那末从头编译新的PHP库撑持新的Mysql。
5. 为何我总失掉如许的毛病动静: : "Warning: 0 is not a MySQL result index in on line " or "Warning: Supplied argument is not a valid MySQL result resource in on line ?
你正在利用的了局集变量值是0。0意味着 由于某种缘由你的查询掉败了。在你获得了局集之前,你必需反省提交查询掉败的缘由。准确的写法应当以下: $result = mysql_query("SELECT * FROM tables_priv");
if (!$result) {
echo mysql_error();
exit;
}
or $result = mysql_query("SELECT * FROM tables_priv")
or die("Bad query: ".mysql_error());