php调用sql数据 php调用数据库

php怎么调用输出显示SQL数据库一个表格内的所有数据?$sql = "select * from test";
$db-fetchAll($sql);
//查询出来放到模板然后就没事了 。。这有什么难得
?php
foreach($arr as $key=$val){
?
trtdinput type="checkbox" name="key" value="https://www.04ip.com/post/1"/td
td ?echo $val['id']?/td
img src="https://www.04ip.com/post/..."td编辑/td
img src="https://www.04ip.com/post/..."td 复制/td
img src="https://www.04ip.com/post/..."td 删除/td
td ?php echo $val['url']?/td
?php
}
?
如何用php连接sql server数据库?我用的PHP版本是php5.6.12,mssql数据库版本为2008
两种途径:
1、直接连接
$servname="CAPTAINHERO567";
$conninfo=array(
"Database"="netdata",
"UID"="lxz2005",
"PWD"="831140");
$conn=sqlsrv_connect($servname,
$conninfo);
$sql="select
*
from
Pinfo";
$db=sqlsrv_query($conn,
$sql);
while($row=sqlsrv_fetch_array($db))
{
echo("
".iconv("GB2312","UTF-8",$row["Pname"])."
");
}
2、使用PDO抽象数据层连接
$hostname
=
"192.168.1.100";
$dbname
=
"Northwind";
$username
=
"sa";
$pwd
=
"pwd100";
$dsn="sqlsrv:Server=$hostname;database=$dbname";
$conn
=
new
PDO
($dsn,$username,$pwd);
$conn-setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
echo
"mssql
database
connnection
sucessed!";
PHP执行SQL查询怎么做?$haha = M(),$res = $haha-query($sql) 。
或 $res = $waw-execute($sql) 。
$sql中包含了表名,实例化模型时可以为空 。注意query是查功能,execute是增删改功能 。
结构化查询语言(Structured Query Language)简称SQL(发音:/?es kju? ?el/ "S-Q-L"),是一种特殊目的的编程语言 , 是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名 。
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作 。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统 。
可以使用相同的结构化查询语言作为数据输入与管理的接口 。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能 。
1986年10月,美国国家标准协会对SQL进行规范后,以此作为关系式数据库管理系统的标准语言(ANSI X3. 135-1986) , 1987年得到国际标准组织的支持下成为国际标准 。不过各种通行的数据库系统在其实践过程中都对SQL规范作了某些编改和扩充 。
所以 , 实际上不同数据库系统之间的SQL不能完全相互通用 。
如何利用PHP执行.SQL文件代码如下:
?php
class DBManager
{
var $dbHost = '';
var $dbUser = '';
var $dbPassword = '';
var $dbSchema = '';
var $conn;
function __construct($host,$user,$password,$schema)
{
$this-dbHost = $host;
$this-dbUser = $user;
$this-dbPassword = $password;
$this-dbSchema = $schema;
}
public function executeFromString($sql,$delimiter = '(;\n)|((;\r\n))|(;\r)',$prefix = '',$commenter = array('#','--'))
{
return $this-execute($sql,$delimiter,$prefix ,$commenter);
}
public function executeFromFile($sqlPath,$delimiter = '(;\n)|((;\r\n))|(;\r)',$prefix = '',$commenter = array('#','--'))
{
//判断文件是否存在
if(!file_exists($sqlPath))return false;
$handle = fopen($sqlPath,'rb');
$sqlStr = fread($handle,filesize($sqlPath));
fclose($handle);
return $this-execute($sqlStr,$delimiter,$prefix ,$commenter);
}
protected function execute($sqlStr,$delimiter = '(;\n)|((;\r\n))|(;\r)',$prefix = '',$commenter = array('#','--'))
{
//通过sql语法的语句分割符进行分割
$segment = explode(";",trim($sqlStr));
//var_dump($segment);
//去掉注释和多余的空行
foreach($segment as$statement):
$sentence = explode("\n",$statement);
$newStatement = array();
foreach($sentence as $subSentence):
if(''!= trim($subSentence)):
//判断是会否是注释
$isComment = false;
foreach($commenter as $comer):
if(eregi("^(".$comer.")",trim($subSentence))):
$isComment = true;
break;
endif;
endforeach;
//如果不是注释,则认为是sql语句
if(!$isComment)
$newStatement[] = $subSentence;
endif;
endforeach;
$statement = $newStatement;
endforeach;
//对表名加前缀
if('' != $prefix)://只有表名在第一行出现时才有效 例如 CREATE TABLE talbeName
$regxTable = "^[\`\'\"]{0,1}[\_a-zA-Z] [\_a-zA-Z0-9]*[\`\'\"]{0,1}$";//处理表名的正则表达式
$regxLeftWall = "^[\`\'\"]{1}";
$sqlFlagTree = array
(
"CREATE" = array("TABLE" = array("$regxTable" = 0)),
"INSERT" = array("INTO" = array("$regxTable" = 0))
);
【php调用sql数据 php调用数据库】
foreach($segment as$statement):
$tokens = split(" ",$statement[0]);
$tableName = array();
$this-findTableName($sqlFlagTree,$tokens,0,$tableName);
if(emptyempty($tableName['leftWall'])):
$newTableName = $prefix.$tableName['name'];
else:
$newTableName = $tableName['leftWall'].$prefix.substr($tableName['name'],1);
endif;
$statement[0] = str_replace($tableName['name'],$newTableName,$statement[0]);
endforeach;
endif;
//组合sql语句
foreach($segment as$statement):
$newStmt = '';
foreach($statement as $sentence):
$newStmt = $newStmt.trim($sentence)."\n";
endforeach;
$statement = $newStmt;
endforeach;
self::saveByQuery($segment);
return true;
}
private function saveByQuery($sqlArray)
{
$this-conn = mysql_connect($this-dbHost,$this-dbUser,$this-dbPassword);
mysql_select_db($this-dbSchema,$this-conn);
foreach($sqlArray as $sql):
mysql_query($sql,$this-conn);
endforeach;
}
public function close()
{
mysql_close($this-conn);
}
private function findTableName($sqlFlagTree,$tokens,$tokensKey=0,$tableName = array())
{
$regxLeftWall = "^[\`\'\"]{1}";
if(count($tokens)=$tokensKey)
return false;
if('' == trim($tokens[$tokensKey])):
return self::findTableName($sqlFlagTree,$tokens,$tokensKey 1,$tableName);
else:
foreach($sqlFlagTree as $flag = $v):
if(eregi($flag,$tokens[$tokensKey])):
if(0==$v):
$tableName['name'] = $tokens[$tokensKey];
if(eregi($regxLeftWall,$tableName['name'])):
$tableName['leftWall'] = $tableName['name']{0};
endif;
return true;
else:
return self::findTableName($v,$tokens,$tokensKey 1,$tableName);
endif;
endif;
endforeach;
endif;
return false;
}
}
怎样用PHP连接sql数据库1、学习的方法php调用sql数据,最好是看手册
在前一篇文章中涉及到了连接数据库sqlsrv_connect();还记得我们mysql连接数据库的时候也是mysql_connect();两者操作数据库是很相似的 。从零基础开始学起的话php调用sql数据,只能是查阅手册 。查看一下sqlsrv有哪些函数提供我们使用!推荐网址是php调用sql数据:
【注意】很多的方法都跟mysql提供的方法很相似php调用sql数据,看到后面的函数名就大概知道里面的用法 , 比如说mysql执行sql语句的时候调用mysql_query();而sqlserver执行sql语句的时候调用也是sqlsrv_query(),但是特别注意一点就是,它们的传递参数不一样 。详细的只能看一下手册 。接下来我简单总结一下操作数据的方法
2、连接数据库sqlsrv_connect()
?php$serverName = "serverName\sqlexpress";//服务器的名字 , 本地localhost$connectionInfo = array( "Database"="dbName", "UID"="userName", "PWD"="password");$conn = sqlsrv_connect( $serverName, $connectionInfo);if( $conn ) {echo "Connection established.br /";
}else{echo "Connection could not be established.br /";die( print_r( sqlsrv_errors(), true));
}
3、操作数据库
1)执行sql语句sqlsrv_query(),返回值为true或者false,这里函数的用法跟mysql_query(),不一样 。它需要把连接的资源句柄当作参数传进去,看源码 。资源句柄就是上面代码连接数据库的“$conn” 。
$sql = "select * from test1";//sql语句$data = https://www.04ip.com/post/sqlsrv_query($conn,$sql);//$conn资源句柄if($data == true){die("执行成功");
}else{die("执行失败");
}
2)获取结果集
//以数值索引数组、关联数组或这两种数组的形式检索下一行的数据 。类似于mysql_fetch_arraysqlsrv_fetch_array
//以对象形式检索下一行的数据 。sqlsrv_fetch_object 1234
$sql = "select * from test1";$data = https://www.04ip.com/post/sqlsrv_query($conn,$sql);if($data == true){while($row = sqlsrv_fetch_array( $data, SQLSRV_FETCH_ASSOC) ) {echo $row['id'].", ".$row['name']."br /";
}else{die( print_r( sqlsrv_errors(), true));
}
}
$sql = "SELECT fName, lName FROM Table_1";$stmt = sqlsrv_query( $conn, $sql);if( $stmt === false ) {die( print_r( sqlsrv_errors(), true));
}while( $obj = sqlsrv_fetch_object( $stmt)) {echo $obj-fName.", ".$obj-lName."br /";
}
3)显示错误信息sqlsrv_errors():上面都有用到这个函数,只要是操作数据库发生错误,都可以使用这个函数打印出来看一下压
这里就不用上代码了
php调用sql数据的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于php调用数据库、php调用sql数据的信息别忘了在本站进行查找喔 。

    推荐阅读