PHP杂记
mysql常用命令
1、mysql -uroot -padmin --登录,用户名:root,密码:admin(自己设的)
2、show databases;显示数据库
PHP程序访问数据库
PHP程序访问数据库,完全可以使用存储过程,有人认为使用存储过程便于维护
不过仁者见仁,智者见智,在这个问题上,偶认为使用存储过程意味着必须要DBA和开发人员更紧密配合,如果其中一方更变,则显然难以维护。
但是使用存储过程至少有两个最明显的优点:速度和效率。
使用存储过程的速度显然更快。
在效率上,如果应用一次需要做一系列SQL操作,则需要往返于PHP与ORACLE,不如把该应用直接放到数据库方以减少往返次数,增加效率。
但是在INTERNET应用上,速度是极度重要的,所以很有必要使用存储过程。
偶也是使用PHP调用存储过程不久,做了下面这个列子。
代码:--------------------------------------------------------------------------------
//建立一个TEST表
CREATE TABLE TEST (
ID NUMBER(16) NOT NULL,
NAME VARCHAR2(30) NOT NULL,
PRIMARY KEY (ID)
);
//插入一条数据
INSERT INTO TEST VALUES (5, 'PHP_BOOK');
//建立一个存储过程
CREATE OR REPLACE PROCEDURE PROC_TEST (
p_id IN OUT NUMBER,
p_name OUT VARCHAR2
) AS
BEGIN
SELECT NAME INTO p_name
FROM TEST
WHERE ID = 5;
END PROC_TEST;
/
--------------------------------------------------------------------------------
PHP代码:--------------------------------------------------------------------------------
//建立数据库连接
$user = "scott"; //数据库用户名
$password = "tiger"; //密码
$conn_str = "tnsname"; //连接串(cstr : Connection_STRing)
$remote = true //是否远程连接
if ($remote) {
$conn = OCILogon($user, $password, $conn_str);
}
else {
$conn = OCILogon($user, $password);
}
//设定绑定
$id = 5; //准备用以绑定的php变量 id
$name = ""; //准备用以绑定的php变量 name
/** 调用存储过程的sql语句(sql_sp : SQL_StoreProcedure)
* 语法:
* BEGIN 存储过程名([[:]参数]); END;
* 加上冒号表示该参数是一个位置
**/
$sql_sp = "BEGIN PROC_TEST(:id, :name); END;";
//Parse
$stmt = OCIParse($conn, $sql_sp);
//执行绑定
OCIBindByName($stmt, ":id", $id, 16); //参数说明:绑定php变量$id到位置:id,并设定绑定长度16位
OCIBindByName($stmt, ":name", $name, 30);
//Execute
OCIExecute($stmt);
//结果
echo "name is : $name
";
?>
php连接mysql数据库
对于熟悉做网站的人来说,要想网站做成动态的,肯定要有数据库的支持,利用特定的脚本连接到数据库,从数据库中提取资料、向数据库中添加资料、删除资料等。这里我通过一个实例来说明如何用php连接到数据库的。
我准备建立一个简单的通讯录,数据库的名字叫txl,数据库只有一个表叫personal_info,表中有5个字段
pi_id pi_name pi_tel pi_qq pi_email
首先我们要创建数据库:
create database txl;
然后我们建立表
CREATE TABLE `personal_info` (
`pi_id` bigint(20) NOT NULL auto_increment,
`pi_name` varchar(50) NOT NULL,
`pi_tel` varchar(15) default NULL,
`pi_qq` varchar(15) default NULL,
`pi_email` varchar(50) default NULL,
PRIMARY KEY (`pi_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
上面的sql语句很简单,通过字面都能猜出什么意思。
下面是连接到数据库并且显示表personal_info的所有字段信息:
// connsql.php
$mysql_server_name="localhost"; //数据库服务器名称
$mysql_username="root"; // 连接数据库用户名
$mysql_password="root"; // 连接数据库密码
$mysql_database="lxr"; // 数据库的名字
// 连接到数据库
$conn=mysql_connect($mysql_server_name, $mysql_username,
$mysql_password);
// 从表中提取信息的sql语句
$strsql="select * from personal_info";
// 执行sql查询
$result=mysql_db_query($mysql_database, $strsql, $conn);
// 获取查询结果
$row=mysql_fetch_row($result);
echo '';
echo '';
\n";
// 显示字段名称
echo "\n\n"; \n";
for ($i=0; $i
echo ''. \n";
mysql_field_name($result, $i);
echo "
}
echo "
// 定位到第一条记录
mysql_data_seek($result, 0);
// 循环取出记录
while ($row=mysql_fetch_row($result))
{
echo "\n"; \n";
for ($i=0; $i
echo ''; ';
echo "$row[$i]";
echo '
}
echo "
}
echo "
echo "";
// 释放资源
mysql_free_result($result);
// 关闭连接
mysql_close();
?>
下面是运行结果:
pi_id pi_name pi_tel pi_qq pi_email
1 Zhangsan
13911111111 642864125 zhangsan@126.com
2 Lisi
13122222222 63958741 lisi@163.com
3 Wangwu
13833333333 912345678 wangwu@sohu.com
所谓“万变不离其宗”,再复杂的操作也都是基于上面的来的,都少不了上面的基本的步骤,当需要时查一下相关的手册便可以解决。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

PHP客戶端URL(curl)擴展是開發人員的強大工具,可以與遠程服務器和REST API無縫交互。通過利用Libcurl(備受尊敬的多協議文件傳輸庫),PHP curl促進了有效的執行

文章討論了PHP 5.3中介紹的PHP中的晚期靜態結合(LSB),允許靜態方法的運行時間分辨率調用以更靈活的繼承。 LSB的實用應用和潛在的觸摸

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

使用PHP的cURL庫發送JSON數據在PHP開發中,經常需要與外部API進行交互,其中一種常見的方式是使用cURL庫發送POST�...

深入解讀ReactPHP的非阻塞特性ReactPHP的一段官方介紹引起了不少開發者的疑問:“ReactPHPisnon-blockingbydefault....
