当前位置:首页 » 编程语言 » php输出sql语句

php输出sql语句

发布时间: 2022-04-30 04:46:05

① 关于sql语句 在php页面中的输出

查 select * form 表名 where name='nb_visits' and period >=1 and period <=3 order by value desc
输出
if($row['value']==1){
//value==1
}else if($row['value']==2){
//value==2
}
else if($row['value']==2){
//value==3
}

② php 如何输出DB类上所有SQL语句,页面上的所有 有关mysql 连接,语句 等信息

class DB_MYSQL
{
/*
* @_conf Array: [hostname],[username],[password],[dataname],[dbtype],[charset],[debug]
*/
var $_conf;
var $_dblink; //mysql connect
var $_dberr =0;
var $_sqlnum=0; //SQL query times
var $_sql='';
var $pageinfo =array();
var $pageSize =20; //=0: all; >0 page size
var $pageOrder=0;
var $stripSet =0;
function DB_MYSQL($db_config=''){
if(empty($db_config)){
global $db_conf;
$db_config=$db_conf[0];
}
$this->_conf=$db_config;
}
function conn()
{
$this->_dblink=@mysql_connect($this->_conf['hostname'],$this->_conf['username'], $this->_conf['password'])
OR $this->debug("mysql_connect error:".str_replace($this->_conf['username'].'@','',mysql_error($this->_dblink)));
if($this->_dblink)
{
if (isset($this->_conf['charset']) and strlen($this->_conf['charset'])>0)
{
@mysql_query("SET character_set_connection=".$this->_conf['charset'].", character_set_results=".$this->_conf['charset'].", character_set_client=binary", $this->_dblink);
}
$res=@mysql_select_db($this->_conf['dataname'],$this->_dblink)
OR $this->debug("mysql_select_db error:".mysql_error($this->_dblink));
if ($res) return true;
}
$this->_dberr=1;
return false;
}
function select_db($NewDB){
$this->_conf['dataname']=$NewDB;
if(empty($this->_dblink)){
return $this->conn();
}
$res=@mysql_select_db($this->_conf['dataname'])
OR $this->debug("mysql_select_db error:".mysql_error($this->_dblink));
if ($res) return true;
$this->_dberr=1;
return false;
}
/*
* @array query ($fetchType>0)
* @result query ($fetchType=0)
*/
function query($str,$fetchType=0,$file_rows='')
{
if (strlen($str)<1){
return false;
}
if(!$this->_dblink){
$this->conn();
}
else if (!mysql_ping($this->_dblink))
{
$this->close();
$this->conn();
}
$SQL=substr($str,0,18).'..';
if ($this->_conf['debug'] > 2)
{
$SQL=$str;
}
if(!empty($file_rows))
{
$SQL=$SQL.'<BR>'.$file_rows;
}
$this->_sql=$str;
$result=@mysql_query($str,$this->_dblink) OR $this->debug("mysql_query error:".mysql_error(),$SQL);
$this->_sqlnum=$this->_sqlnum+1;
if ($result)
{
if ($fetchType==1)
{
$arr=@mysql_fetch_array($result,1);
$this->check_query_quote($arr);
$this->free($result);
return $arr;
}
else if ($fetchType==2)
{
$arr = array();
while ($row = mysql_fetch_array($result,1))
{
$this->check_query_quote($row);
$arr[] = $row;
}
$this->free($result);
return $arr;
}
return $result;
}
else if ($fetchType>1) # NEW 2010-7-28
{
return array();
}
return false;
}//END sql
/*
* @array query_page
*/
function query_page(&$page,$Field,$Table,$Where='',$Order='',$Group='')
{
$page=intval($page);
$psize=abs($this->pageSize);
$this->_table=$Table;
if($psize<0 or $psize>300) $psize=20;
$sql="SELECT count(*) as allnum FROM $Table $Where";
if (strlen($Group)>0) {
$this->_sql="$sql $Group";
$result=$this->query("$sql $Group");
$rowsnum=$this->num_rows($result);
}
else{
$this->_sql=$sql;
$row=$this->query($sql,1);
$rowsnum=$row['allnum']+0;
}
if($rowsnum==0){
$page=0;
$this->pageinfo=Array('page'=>0,'pagenum'=>0,'rowsnum'=>0);
return array();
}
$pagenum=$psize<1 ? 1 : ceil($rowsnum/$psize);
$limit='';
if($psize==0){
$page=1;
$pagenum=1;
}
else
{
if($page > $pagenum or $page < 1) $page=1;
if($pagenum > 1){
$limit='limit '.(($page-1)*$psize).','.$psize;
}
}
$this->pageinfo['page'] =$page;
$this->pageinfo['pagenum'] =$pagenum;
$this->pageinfo['rowsnum'] =$rowsnum;
$sql ="SELECT $Field FROM $Table $Where $Group $Order $limit";
$this->_sql=$sql;
return $this->query($sql,2);
}
/*
* @array fetch_array
* @type: 1 MYSQL_ASSOC 2 MYSQL_NUM #3 MYSQL_BOTH
*/
function fetch_array(&$result,$type=1)
{
$arr=Array();
if (!$result) return $arr;
while ($row = @mysql_fetch_array($result,$type))
{
$this->check_query_quote($row);
return $row;
}
$this->free($result);
return false;
}
function fetch_subarr(&$result,$keyset='',$valset='')
{
$arr=Array();
if (!$result) return $arr;
if (empty($keyset))
{
return $arr;
}
while ($row = @mysql_fetch_array($result,1))
{
$this->check_query_quote($row);
if (!empty($keyset) and isset($row[$keyset]))
{
$tag=$row[$keyset];
$arr[$tag]=empty($valset) ? $row : $row[$valset];
}
}
$this->free($result);
return $arr;
}
function check_query_quote(&$val)
{
if($this->stripSet) $this->stripVar($val);
}
function stripVar(&$val)
{
if(is_array($val)){
foreach($val as $key => $v)
{
$this->stripVar($val[$key]);
}
}
else if(is_string($val)){
$val=StripSlashes($val);
}
}
function num_rows($result){
return @mysql_num_rows($result);
}
function affected_rows()
{
return @mysql_affected_rows($this->_dblink);
}
function data_seek(&$result,$row_num=0){
return @mysql_data_seek($result,$row_num);
}
function free(&$result){
return @mysql_free_result($result);
}
function last_id(){
$id=@mysql_insert_id($this->_dblink);
return intval($id);
}
function err_code()
{
return @mysql_errno($this->_dblink);
}
function err_msg()
{
return mysql_error($this->_dblink);
}
function close(){
$result = @mysql_close($this->_dblink);
$this->_dblink=0;
}
/* NEW 2010-8-15 */
function getsql($val,$type=0)
{
if($type==1) {
$g='';
if(substr($val,0,1)=='-') $g='-';
$val=preg_replace('/\D/','',$val);
if(strlen($val)==0) $val=0;
return $g.$val;
}
else if($type==2) return doubleval($val);
else if($type==3) return $val;
else{
if ($this->_dblink) return "'" . mysql_real_escape_string($val) . "'";
else return "'" . mysql_escape_string($val) . "'";
}
}
function getstr($val,$type=0) {
return $this->getsql($val,$type);
}
function debug($string,$SQL='')
{
$debug=$this->_conf['debug'];
if ($debug==4) {
die($string.'<HR>'.$SQL);
}
else if ($debug==3) {
print($string.'<HR>'.$SQL);
}
else if ($debug==2) {
print('<!--'.$string.'<HR>'.$SQL.'-->');
}
else if ($debug==1) {
//$code=intval($this->err_code());
return 0;
}
return 0;
}
}

③ php中的sql语句

1、很多时候我们在开发时需要将字符串与变量连接起来显示,在PHP中,字符串之间使用 “点” 来连接,也就是英文中的半角句号" . " , " . " 是字符串连接符,可以把两个或两个以上的字符串链接成一个字符串。例如:

<?php
$name="网络知道:";
$url=".";
echo$name.$url.".com";
?>

输出结果为:

网络知道:..com

2、php在进行数据库查询时,如果对象是字符串,则需要使用引号将字符串区分开,这就是上面你的第一个问题,例如,你通过POST接受到的$username值是"zhanagsan",那么:

mysqli_query($conn,"SELECT*FROMuserWhereusername='".$username."'");

php在进行解析时就是

mysqli_query($conn,"SELECT*FROMuserWhereusername='zhangsan'");

如果你觉得这样会让你有点看不过来,还可以这样写:

mysqli_query($conn,"SELECT*FROMuserWhereusername='{$username}'");

这里的{}也是起到连接的作用。

3、应用字符串连接符号有时候没有办法实现大量字符串的连接,PHP允许程序员在双引号中直接包含字符串变量,当echo语句后面使用的是 双引号 (" ")时,可以使用下面的格式来达到相同的效果(这是你的第二个问题)。例如:

<?php
$name="网络知道:";
$url=".";
echo"$name$url.com";//双引号里的变量同一般的字符串自动进行区分
?>

但是单引号(' ')就不可以了,这样如果不加连接符,解析后还是字符串,例如:

<?php
$name="网络知道:";
$url=".";
echo'$name$url.com';//单引号里的变量不会同一般的字符串自动进行区分
?>

最终的输出结果就变成了

$name$url.com//最终只是输出变量名,是字符串

④ SQL语句 关于PHP在页面输出 的写法!

$sql = "select * form 表名 where name='nb_visits' and period in (1,2,3) order by value desc";

$res = mysql_query($sql);
while($result = mysql_fetch_array($res)){
if($result['period'] == 1){
echo '<td><div align="center">'.$row['value'].'</div></td>';
}

if($result['period'] == 2){
echo '<td><div align="center">'.$row['value'].'</div></td>';
}
if($result['period'] == 3){
echo '<td><div align="center">'.$row['value'].'</div></td>';
}
}

⑤ 请教大神thinkphp5 怎么打印sql语句

[SQL]SHOWCOLUMNSFROM`think_action`[RunTime:0.001339s]
[EXPLAIN:array('id'=>'1','select_type'=>'SIMPLE','table'=>'think_action','partitions'=>NULL,'type'=>'ALL','possible_keys'=>NULL,'key'=>NULL,'key_len'=>NULL,'ref'=>NULL,'rows'=>'82','filtered'=>'100.00','extra'=>NULL,)]
[SQL]SELECT*FROM`think_action`LIMIT1[RunTime:0.000539s]

你好,一共有两种方法可以打印sql语句,具体实现方法可参照这篇文章:

thinkphp5 怎么打印sql语句

⑥ 我想在PHP页面循环输出SQL中的数值

echo $row($i); 改成
echo $row[$i];把while里面的for循环中的echo
$row($i);改成echo
$row[$i];即可
调用数组需要使用[]
而不是括号

⑦ thinkphp怎么打印sql语句

thinkphp的sql语句的应用:

[SQL]SHOWCOLUMNSFROM`think_action`[RunTime:0.001339s]

[EXPLAIN:array('id'=>'1','select_type'=>'SIMPLE','table'=>'think_action','partitions'

=>NULL,'type'=>'ALL','possible_keys'=>NULL,'key'=>NULL,'key_len'=>NULL,'ref'

=>NULL,'rows'=>'82','filtered'=>'100.00','extra'=>NULL,)]

[SQL]SELECT*FROM`think_action`LIMIT1[RunTime:0.000539s]

(7)php输出sql语句扩展阅读:

sql的应用原则:

在关系数据库实现过程中,第一步是建立关系模式,定义基本表的结构,即该关系模式是哪些属性组成的,每一属性的数据类型及数据可能的长度、是否允许为空值以及其它完整性约束条件。

定义基本表:

CREATE TABLE<表名>(<列名1><数据类型>[列级完整性约束条件]

[,<列名2><数据类型>[列级完整性约束条件]]…

[,<-列名n><数据类型>[列级完整性约束条件]]

[,表列级完整性约束条件]);

说明:

1、<>中是SQL语句必须定义的部分,[]中是SQL语句可选择的部分,可以省略的。

2、CREATE TABLE表示是SQL的关键字,指示本SQL语句的功能。

3、<表名>是所要定义的基本表的名称,一个表可以由一个或若干个属性(列)组成,但至少有一个属性,不允许一个属性都没有的表,这样不是空表的含义。多个属性定义由圆括号指示其边界,通过逗号把各个属性定义分隔开,各个属性名称互不相同,可以采用任意顺序排列,一般按照实体或联系定义属性的顺序排列,关键字属性组在最前面,这样容易区分,也防止遗漏定义的属性。

⑧ php 中写 sql语句

<?php
<?php
header("Content-type:text/html;charset=utf-8");
//用来操作mysql数据
classMysql{
private$host;
private$port;
private$user;
private$password;
private$dbname;
private$charset;


//构造方法:初始化
publicfunction__construct($info=array()){

$this->host=isset($info['host'])?$info['host']:"localhost";
$this->port=isset($info['port'])?$info['port']:"3306";
$this->user=isset($info['user'])?$info['user']:"root";
$this->password=isset($info['password'])?$info['password']:"root";
$this->dbname=isset($info['dbname'])?$info['dbname']:"haoyigou";
$this->charset=isset($info['charset'])?$info['charset']:"utf8";
$this->db_connect();
$this->db_charset();
$this->db_name();
}
//数据库连接
privatefunctiondb_connect(){
$res=@mysql_connect($this->host.":".$this->port,$this->user,$this->password);
if(!$res){
echo"数据库连接失败!<br/>";
echo"错误编号是:".mysql_errno()."<br/>";
echo"错误信息是:".iconv('gbk','utf-8',mysql_error())."<br/>";
exit;
}
}
//封装验证方法
publicfunctiondb_query($sql){
$res=@mysql_query($sql);
if(!$res){
echo"sql语句语法错误!<br/>";
echo"错误编号是:".mysql_errno()."<br/>";
echo"错误信息是:".iconv('gbk','utf-8',mysql_error())."<br/>";

exit;
}
return$res;
}
//设置字符集
privatefunctiondb_charset(){
$sql="setnames{$this->charset}";
$this->db_query($sql);
}
//使用数据库
privatefunctiondb_name(){
$sql="use{$this->dbname}";
$this->db_query($sql);
}

//增删改
publicfunctiondb_add($sql){
//执行语句
$this->db_query($sql);
$id=mysql_insert_id();
return$id?$id:mysql_affected_rows();
}
//查:输出单条数据
publicfunctiondb_getone($sql){
$res=$this->db_query($sql);


//看不懂私聊我
$row=mysql_fetch_assoc($res);
return$row;
}

⑨ php怎么用mysqli链接数据库和输出sql

一、mysql与mysqli的概念相关:

1、mysql与mysqli都是php方面的函数集,与mysql数据库关联不大。

2、在php5版本之前,一般是用php的mysql函数去驱动mysql数据库的,比如mysql_query()的函数,属于面向过程3、在php5版本以后,增加了mysqli的函数功能,某种意义上讲,它是mysql系统函数的增强版,更稳定更高效更安全,与mysql_query()对应的有mysqli_query(),属于面向对象,用对象的方式操作驱动mysql数据库

二、mysql与mysqli的区别:

1、mysql是非持继连接函数,mysql每次链接都会打开一个连接的进程。

2、mysqli是永远连接函数,mysqli多次运行mysqli将使用同一连接进程,从而减少了服务器的开销。mysqli封装了诸如事务等一些高级操作,同时封装了DB操作过程中的很多可用的方法。

三、mysql与mysqli的用法:

1:mysql(过程方式):

$conn =
mysql_connect('localhost', 'user', 'password');//连接mysql数据库mysql_select_db('data_base');
//选择数据库$result =
mysql_query('select * from data_base');//第二个可选参数,指定打开的连接$row =
mysql_fetch_row( $result ) ) //只取一行数据echo
$row[0]; //输出第一个字段的值

PS:mysqli以过程式的方式操作,有些函数必须指定资源,比如mysqli_query(资源标识,SQL语句),并且资源标识的参数是放在前面的,而mysql_query(SQL语句,'资源标识')的资源标识是可选的,默认值是上一个打开的连接或资源。

2、mysqli(对象方式):

$conn = new
mysqli('localhost', 'user', 'password','data_base');//要使用new操作符,最后一个参数是直接指定数据库//假如构造时候不指定,那下一句需要$conn -> select_db('data_base')实现$result =
$conn -> query( 'select * from data_base' );$row =
$result -> fetch_row(); //取一行数据echo
row[0]; //输出第一个字段的值

使用new mysqli('localhost', usenamer', 'password', 'databasename');会报错,提示如下:

Fatal error: Class 'mysqli' not found in ...

一般是mysqli是没有开启的,因为mysqli类不是默认开启的,win下要改php.ini,去掉php_mysqli.dll前的;,linux下要把mysqli编译进去。

四、mysql_connect()与mysqli_connect()

1.使用mysqli,可以把数据库名称当作参数传给mysqli_connect()函数,也可以传递给mysqli的构造函数;

2.如果调用mysqli_query()或mysqli的对象查询query()方法,则连接标识是必需的。

⑩ 原生php如何输出mysql最后执行的sql

方法一:
$link = mysql_connect("192.168.1.1", "myuser", "mypass");--连接数据库
if(FALSE == $link)
{
echo "Connect database failed!";
}
$query =
"select * from a order by id";
mysql_select_db('test', $link);--选择数据库
$result = mysql_query($query);--执行查询语句
if(FALSE == $result)
{
echo "Querry failed!";
}
$i = 0;
$j = 0;
while($i++ < mysql_num_rows($result))--取总行数
{
$meta_c=0;
if($meta_c=mysql_fetch_row($result))--取每一行的结果集
{
while($j < mysql_num_fields($result))--取一行的列数
{
echo $meta_c[$j;
}
echo "
";
} // while;
$j=0;
}
mysql_free_result($result);--释放结果集
mysql_close($link);--关闭连接
?>
方法二:
$link = mysql_connect("192.168.1.1", "myuser", "mypass");--连接数据库
if(FALSE == $link)
{
echo "Connect database failed!
";
}
mysql_select_db('test', $link);--选择数据库
$result = mysql_query("select * from a order by id");--执行查询语句
if(FALSE == $result)
{
echo "Querry failed!";
}
while($row = mysql_fetch_array($result, MYSQL_NUM))--取数组里面的值,因为结果集以二维数组存放
{
foreach ($row as $col_value)--一一取值
{
echo " $col_value ";
}
}
mysql_free_result($result);--释放结果集
mysql_close($link);)--关闭连接
?>

热点内容
sql2008服务器 发布:2025-05-15 11:03:27 浏览:305
我的世界pe服务器创造 发布:2025-05-15 10:51:17 浏览:608
移动端打吃鸡要什么配置 发布:2025-05-15 10:48:16 浏览:756
我的世界哪五个服务器被炸了 发布:2025-05-15 10:36:16 浏览:994
ehcache存储对象 发布:2025-05-15 10:35:31 浏览:528
搭建虚拟电脑的服务器 发布:2025-05-15 10:29:31 浏览:270
湖人双核配置哪个最好 发布:2025-05-15 10:09:48 浏览:980
手机热点密码怎么查看 发布:2025-05-15 09:54:47 浏览:109
生意发力云存储 发布:2025-05-15 09:54:45 浏览:617
编写一个shell脚本添加用户 发布:2025-05-15 09:54:43 浏览:506