>我使用MysqLi API进行数据库访问.
>在我本地安装的XAMPP(Windows 7机器)中,PHP版本为5.3.8,MysqL版本为MysqLnd 5.0.8-dev – 20102224
>我已在免费托管服务器上托管该网站,以测试“cuccfree.com”. PHP版本为5.3.14,MysqL版本为5.1.66.与许多其他托管公司相比,它仍然对MysqLi提供了更好的支持.
>在PHPinfo’ing这两者,本地机器显示安装了MysqLnd驱动程序,但托管服务器没有.
>我为MysqLi创建了一个包装类,它使用函数MysqLi_stmt :: get_result()获取ResultSet.此函数适用于我的本地计算机,但不适用于cuccfree.com托管服务器,因为MysqLi对象没有名为get_result()的方法.但是,MysqLi_stmt对象已准备好并且bind_param已成功完成.
> php.net上MysqLi_stmt的手册页说,对于使用MysqLi_stmt :: get_result(),我们需要安装MysqLnd驱动程序.
>服务器的配置提供了MysqLi_stmt :: bind_object()的使用.但get_result()对我来说似乎是一个更好的选择,因为我们可以得到一个数组的形式.我已使用以下行重写函数以接受可变数量的参数:
call_user_func_array(array($stmt,’bind_param’),$params);
$params是一个参数数组.
>使用bind_object(),我必须绑定返回给变量的每一列.在这种情况下,我无法创建一个包装类函数来处理单点的所有SQL查询.
我寻找了几家托管公司,通过谈话和邮寄给许多公司的客户支持,包括GoDaddy和Manas Hosting,他们不提供使用MysqLnd.从逻辑上讲,他们坚持使用VPS或专用服务器.显然,即使在入门级别,建议的选项都非常昂贵.
所以,最后我的问题是,我们可以将MysqLnd安装/嵌入Linux服务器上的网站吗?如果没有,我有什么办法可以阻止我更改整个网站的代码,这将花费我很多天?
问候