
正文
php数据库语句 php数据库设计
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php 连接oracle数据库语句怎么写?
以系统为windowns为例,
1、先PHP.INI中的oracle扩展也开启了
PHP下php.ini(注意,有时是在windows目录)修改下下
其中的
extension=php_oci8.dll 去掉前面的“;”号
extension=php_oracle.dll 去掉前面的“;”号
把php_oci8.dll 、和php_oracle.dll 文件复制到windwos的system32下
2、系统中应当有安装ORCALE的系统,然后配制远程ORACLE的的监听。就是你能用你配好的ORACLE系统访问远程的数据库。
{例:
在ORACLE安装目录下找到tnsnames.ora,然后按下面的例子配置一下
BASETEST 命名=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = XX.XX.XX.XX服务器IP地址)(PORT = 1521端口))
)
(CONNECT_DATA = (SERVICE_NAME = masprod 实例ID))
)
}
3.在你的PHP网页目录下写个测试连接的程序试试
?php
$dbconn=OCILogon("username","pwd","(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = [远程服务器IP])(PORT = 1515))
)
(CONNECT_DATA =
(SERVICE_NAME = [数据库名字])
))");
if($dbconn!=false)
{
echo "连接成功";
if(OCILogOff($dbconn)==true)
{
echo "关闭连接成功!";//=这里有问题
}
}
else
{
echo "连接失败";
}
?
相关问答
Q1: PHP数据库值加减的语句是什么?需要先获取值吗?
格式:update 表名称 set 字段名称 = 字段名称 + 1 [ where语句]
比如说数据库中有一张student表,要想把id为1php数据库语句的学生成绩(score)加1则
update student set score=score+1 where id = 1
如果你不加where系统就不会知道你具体要更新哪条记录,而导致所有该表中score都增加1,当然,除非这就是你php数据库语句的本意。
Q2: 怎样试用PHP原生语句查询数据库
原生SQL查询有 query() 和 execute() 两个方法:
query():用于 SQL 查询操作,并返回符合查询条件的数据集
execute():更新和写入数据的 SQL 操作,返回影响的记录数
query()
query() 方法是用于 SQL 查询操作,和select()方法一样返回符合查询条件的数据集。
例子:
public function read(){
// 实例化一个空模型,没有对应任何数据表
$Dao = M();
//或者使用 $Dao = new Model();
$list = $Dao-query("select * from user where uid5");
if($list){
$this-assign('list', $list );
$this-display();
} else {
$this-error($Dao-getError());
}
}
对于 query() 方法返回的数据集,跟 select() 一样,可以在模板里直接循环输出。
execute()
execute() 方法用于更新和写入数据的 SQL 操作(注:非查询操作,无返回数据集),返回影响的记录数。
例子:
public function read(){
header("Content-Type:text/html; charset=utf-8");
// 实例化一个空模型,没有对应任何数据表
$Dao = M();
//或者使用 $Dao = new Model();
$num = $Dao-execute("update user set email = '12345@xxx.com' where uid=3");
if($num){
echo '更新 ',$num,' 条记录。';
}else{
echo '无记录更新';
}
}
如果查询比较复杂或一些特殊的数据操作不能通过 ThinkPHP 内置的 ORM 和 ActiveRecord 模式实现时,就可以通过直接使用原生 SQL 查询来实现。
注意:以上都是 user 没有表前缀的例子,在查询语句中,查询的表应该写实际的表名字(包括前缀)。
Q3: php中的sql语句
1、很多时候我们在开发时需要将字符串与变量连接起来显示,在PHP中,字符串之间使用 “点” 来连接,也就是英文中的半角句号 " . " , " . " 是字符串连接符,可以把两个或两个以上的字符串链接成一个字符串。例如:
?php
$name = "百度知道:";
$url = "zhidao.baidu";
echo $name.$url.".com";
?
输出结果为:
百度知道:zhidao.baidu.com
2、php在进行数据库查询时,如果对象是字符串,则需要使用引号将字符串区分开,这就是上面你的第一个问题,例如,你通过POST接受到的$username值是"zhanagsan",那么:
mysqli_query($conn,"SELECT * FROM user Where username = '".$username."'");
php在进行解析时就是
mysqli_query($conn,"SELECT * FROM user Where username = 'zhangsan'");
如果你觉得这样会让你有点看不过来,还可以这样写:
mysqli_query($conn,"SELECT * FROM user Where username = '{$username}'");
这里的{}也是起到连接的作用。
3、应用字符串连接符号有时候没有办法实现大量字符串的连接,PHP允许程序员在双引号中直接包含字符串变量,当echo语句后面使用的是 双引号 (" ")时,可以使用下面的格式来达到相同的效果(这是你的第二个问题)。例如:
?php
$name = "百度知道:";
$url = "zhidao.baidu";
echo "$name$url.com"; // 双引号里的变量同一般的字符串自动进行区分
?
但是单引号(' ')就不可以了,这样如果不加连接符,解析后还是字符串,例如:
?php
$name = "百度知道:";
$url = "zhidao.baidu";
echo '$name$url.com'; // 单引号里的变量不会同一般的字符串自动进行区分
?
最终的输出结果就变成了
$name$url.com //最终只是输出变量名,是字符串
Q4: php弄数据库一般怎么处理CREATE语句的?
1:可以在自己在文本里面写好相关的建表语句,然后用phpmyadmin之类的工具导入到你的数据库,然后在通过程序连接数据库,插入,修改,删除,查询。一般开发流程都是在程序开发之前就需要规划数据表的结构的。(个人和企业自身用这样就可以了)
2:就像你说的那样创建一个文件专门用来创建数据库和表,也就是程序的安装模块,当然也是需要在文本中写相关的sql语句的,之后通过程序导入到数据库去,创建好了之后可以把他删除。(这种一般给别人开发的时候用,像那些开源的cms都是这样的)
php数据库语句的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php数据库设计、php数据库语句的信息别忘了在本站进行查找喔。








