数据库相关问题

数据|数据库|问题

数据库相关问题
这节将讨论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 写到:

按照Mysql的指引安装你的平台下的Mysql. 最新版本可以从 http://www.mysql.com/ 得到(从你最近的镜像点!). 除了设置一个Mysql的数据库,不需要其它特别的配置, 设置用户帐号, 你应该把用户的主机域 设为“%”, 确认你的服务器名、数据库名等
在Mysql的站点上下找Mysql ODBC驱动,最新的版本应该是 myodbc-2_50_19-win95.zip (NT)。在你的Windows下安装它. 你可以用工具包里的工具测试安装是否成功。
在你的 ODBC 管理器(控制面板里)里创建一个用户和系统的dsn。建一个DSN名, 输入你的主机名, 用户名(mysql), 口令,端口号, 等你在第一步里设置的数据。
完全安装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。
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());

 

时间: 2025-01-20 11:04:43

数据库相关问题的相关文章

数据库相关中间件收录集

数据库中间件 这里主要介绍互联网行业内有关数据库的相关中间件.数据库相关平台主要解决以下三个方面的问题: 为海量前台数据提供高性能.大容量.高可用性的访问 为数据变更的消费提供准实时的保障 高效的异地数据同步 应用层通过分表分库中间件访问数据库,包括读操作(Select)和写操作(update, insert和delete等,DDL, DCL).写操作会在数据库上产生变更记录,MySQL的变更记录叫binlog, Oracle的称之为redolog, 增量数据订阅与消费中间件解析这些变更,并以统

需要考虑的数据库相关安全政策

在能够真正影响每个行业的所有的政府和行业规则中,总有一天会出现这么一条,要你真正地应用一些信息安全政策.你也许已经对密码和数据备份有了一些基本政策.但是还有更多内容.所以,如果你的企业现在才刚刚把它的安全政策放在一起,或者你已经意识到了是时候需要更新一些东西了,那么这里有几个你需要了解的数据库安全相关的问题. 从技术上来说,为了准确判断需要哪个安全政策,你需要执行信息风险评估.然而,我理解,现实情况经常会导致其它内容.就是说,我可以考虑得很少,如果有的话,但是几乎很少有不再要求我思考如下数据库相

MySQL查看数据库相关信息

使用MySQL时,需要了解当前数据库的情况,例如当前的数据库大小.字符集.用户等等.下面总结了一些查看数据库相关信息的命令   1:查看显示所有数据库 mysql> show databases; +--------------------+ | Database           | +--------------------+ | information_schema | | INVOICE            | | mysql              | | performance

box-PHP遍历数据库相关问题

问题描述 PHP遍历数据库相关问题 最近在一个论坛,遇到了一个问题,发贴的时候,帖子的内容是传值到一个box DIV上,循环遍历显示的,但是现在想要增加一个按钮点击的话数据库就将该帖子的一个字段修改,在页面上就判断为隐藏(删除),可是添加之后,点击,该用户的帖子全都隐藏了,求大神指教. 解决方案 看下你的查询怎么写的,你应该是update 数据库 set 字段 = xxx where id = xxx,是不是你的where条件写错了. 解决方案二: 不贴出整个代码不好分析,感觉可能是你点击隐藏,

数据库相关问题,描述如下,看懂的请指教

问题描述 数据库相关问题,描述如下,看懂的请指教 create table pocket ( money number ): 表中的值:(大于0的值至少有两个,已排序) 0 1 1 1 3 3 能查的时候加个属性吗,如下(属性规则是0 对应 0 ,大于0 的 为1,但是重复的只有第一个为1,其余为0): 0 0 1 1 1 0 1 0 3 1 3 0 解决方案 可以,用case...when语法 解决方案二: case when可以的

cmd 操作mysql数据库相关问题

问题描述 cmd 操作mysql数据库相关问题 输入show database 不是应该显示所有数据库么,为什么下面只出现箭头?大神求解! 解决方案 你应该写show databases;你试一下 解决方案二: Mysql数据库相关问题遇到的数据库相关问题 解决方案三: 楼上说的很对,是databases,你少了一个s,并且你说的又显示了一个箭头,那代表你sql语句没有输入分号,sql查询时,分号代表一条语句结束.有时候一条sql语句过长,一行输入不完,或者输入在一行看起来很别扭,也会不输分号直

物流项目的数据库相关问题

问题描述 物流项目的数据库相关问题 项目中的车辆表.配送点(中转站)的表应该要怎么建?已有仓库信息,希望实现运单跟踪.中转,车辆调配和状态信息等.请指点一二 解决方案 入库通知单→货位安排→确认入库B.指示存储→确认存储→更新库存→确认入库

数据库相关问题_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

想买一本跟mysql数据库相关的书籍,不知道什么样的书籍适合现在的我

问题描述 我想买一本跟mysql数据库相关的书籍,目前我对mysql也只是停留在会用的基础上,想买一本可以掌握mysql原理的书籍,不知道什么书好,希望大家给个宝贵建议 问题补充:hudingchen 写道 解决方案 我买过几本mysql的书,有的太深看不懂,也不需要,有的内容网上抄的,东拼西凑写书赚钱,最满意的还是<MySQL技术内幕:InnoDB存储引擎>,里面讲了很多mysql的技术实现,以及影响性能参数配置,并且有一些mysql算法在里面,当然大部分讲的都是innodb存储引擎.找了个