|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我先解释一下我的学习思路。数据|数据库|成绩 数据库相干成绩
这节将会商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());
怎么样出来了吧,怎么样自己也可以写出php程序了,虽然离职业和专业的人还有很远,但是好的开始是成功的一半。这个时候改怎么做了呢。现在就是拿1本高手推荐的书,重头到尾读1遍,我说的这个读是自己看。 |
|