第一个问题: $db是对象,对象调用成员方法就是-
第三个问题:这个问题很简单,你用的是对象连接,却使用函数,这本就不是一个东西,你没有给全局变量赋值(mysqli_connect($servername, $username, $password);),所以不能使用这个函数,这也就是安全问题(第二个问题,你看它一次只能使用一个连接,不像对象,可以new很多个,看出优劣了吧!这是进化的结果,因为php想干大型项目用对象,也比较最好管理),至于应该使用什么?$db -num_rows其实很简单的,就是把以前的函数封装成为对象,名字几乎不变
oracle数据库建立链接,代码如下:
$conn =
oci_connect('username','password',"(DEscriptION=(ADDRESS=(PROTOCOL
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;"
完整的例子如下:
php
$conn = oci_connect('hr', 'hr', 'orcl'); // 建立连接
if (!$conn) {
$e = oci_error();
print htmlentities($e['message']);
exit;
}
$query = 'SELECT * FROM DEPARTMENTS'; // 查询语句
$stid = oci_parse($conn, $query); // 配置SQL语句,准备执行
if (!$stid) {
$e = oci_error($conn);
$r = oci_execute($stid, OCI_DEFAULT); // 执行SQL.OCI_DEFAULT表示不要自动commit
if(!$r) {
$e = oci_error($stid);
echo htmlentities($e['message']);
// 打印执行结果
print 'table border="1"';
while($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {
print 'tr';
foreach($row as $item) {
print 'td'.($item?htmlentities($item):' ').'/td';
print '/tr';
print '/table';
oci_close($conn);
第一步:进入php源码中的"ext/mysql"目录下
phpize的规则:去哪个目录下运行phpize文件,那么就会在该目录下生成一个configure文件.
第三步:运行刚才生成的configure文件
实验的时候,没有加这个参数,结果错误:
第四步:编译生成.so文件
第五步:配置php引擎加载该扩展.
补充一下:就是去php.ini文件中修改一下配置,加载mysql.so这个扩展(这个扩展文件要放到php指定的扩展目录下面去)
第六步:测试php引擎是否成功加载该扩展编写文件phpinfo.php,内容是:?php?ehco phpinfo();?
运行后,可以看到有如下信息显示:mysqlMySQLSupport ? ?enabledActive PersistentLinks ? ? 0
Active Links ? ? 0
MYSQL_MODULE_TYPE ? ? no value
MYSQL_SOCKET ? ? /tmp/mysql.sock
MYSQL_INCLUDE ? ? no value
MYSQL_LIBS ? ? no value
通过这样的方式可以确认,php引擎已经成功加载了mysql.so扩展.
第七步:已经生成的mysql.so.编写php代码测试是否能连接mysql.
第一段:为什么书中一般是常常是这样的顺序安装.
先安装mysql,然后再安装php,很少看到先安装php,后安装mysql?
这样做.是基于下面原因:安装好mysql后.mysql.so这个模块才能生成.记得一个细节:在安装php的时候,需要提供mysql的路径.由php帮助编译生成mysql.so模块.mysql.so这个模块是在安装好php的时候生成的.
第二段:实践生成mysql.so的过程.
大体思路:需要用到php的源码包才行.通过源码包中提供的phpize文件(一个专门挂接php扩展的工具)
$conn= mysql_connect('localhost','xueyanxiang','xueyanxiang');
原因是:
API?指南以及相关 FAQ?以获取更多信息.用以替代本函数的有:
mysqli_connect()
PDO::__construct()
使用时,不要在使用mysql_connect了,可以换用mysqli_connect(),用法基本类似吧,据说是面向对象的库.
php.ini中,也只有extension=php_mysqli.dll,而不再有extension=php_mysql.dll这个拓展了.
$conn= mysqli_connect('localhost','xueyanxiang','xueyanxiang');
$dbh= "mysql:host=localhost;dbname=test";
$db= new PDO($dbh,'xueyanxiang','xueyanxiang');
$objQuery= $db-query("select * from user;");
$res= $objQuery-fetchAll(PDO::FETCH_ASSOC);
不填写参数的话,默认是关联和索引都有,如下图
以上就是土嘎嘎小编大虾米为大家整理的相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!