【亚洲必赢娱乐第一平台】数据库相关问题_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 on line ” or “Warning: Supplied argument is
    not a valid MySQL result resource in on line ? 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 and PHP
    来操作这个库。或者使用另一种文件格式, Access 和 PHP 都可以打开的,
    比如操作系统文件或dBase 数据库等。关于这 OpenLink software的Tim Hayes
    写了如下的文字:
    在你可以使用PHP直接操作一种数据库里,使用另外的库作为中间件不是一个好的主意。
    –例如用OpenLink’s 驱动. 如果你确实需要中间件库, OpenLink 现在发布了
    Virtuoso , 可以运行在NT, Linux 其它的 unix平台.请参阅 website
    免费下载.另一个成功的范例子是使用Windows下的Mysql,来同步化 Access
    数据库. Steve Lawrence 写到: 按照Mysql的指引安装你的平台下的Mysql.
    最新版本可以从 得到.
    除了设置一个Mysql的数据库,不需要其它特别的配置, 设置用户帐号,
    你应该把用户的主机域 设为“%”,
    确认你的服务器名、数据库名等在Mysql的站点上下找Mysql
    ODBC驱动,最新的版本应该是 myodbc-2_50_19-win95.zip
    。在你的Windows下安装它. 你可以用工具包里的工具测试安装是否成功。 在你的
    ODBC 管理器里创建一个用户和系统的dsn。建一个DSN名, 输入你的主机名,
    用户名, 口令,端口号, 等你在第一步里设置的数据。 完全安装Access,
    这一步使你安装必须的工具驱动.. 至少 你需要管理连接的数据库表。
    现在最有趣的事发生了! 建一个新的Access数据库。 在表里右键,选”link
    Tables”, 或者在 “文件” 菜单 下, 选“ Get External Data ” 然后“ Link
    Tables”. 当对话框打开时,选择文件类型: ODBC.
    选择系统DSN,你在第三步创建的DSN名. 然后选要链接的表。按“确定”, 哦!
    你现在可以在你的Mysql管理器上打开这个表, 可以增加/编辑/删除 数据!
    你也可以建立查询, 输入/输出表到 MySQL, 建立表单及报表,等. Tips and
    Tricks: 你可以建立Access表,把它输出到 MySQL, 也可以链接回来.
    它会使创建表快些. 当你在Access里创建表时, 必须设置主键。
    同样,在Mysql里连到access时,也要有主键。 如果你在 MySQL时选了一张表,
    你不得不在Access里重新链接.去>add-ins>链接表管理器 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。
  2. 为什么我总得到这样的错误消息: : “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 {echo
    mysql_error();exit;}or $result = mysql_query(“SELECT * FROM
    tables_priv”)or die(“Bad query: “.mysql_error;

发表评论

电子邮件地址不会被公开。 必填项已用*标注