php mysql_query()函数

PHP / 610人浏览 / 0人评论

(PHP 4, PHP 5)mysql_query — 发送一条 MySQL 查询,Warning:本扩展自 PHP 5.5.0 起已废弃,并在自 PHP 7.0.0 开始被移除。应使用 MySQLi 或 PDO_MySQL 扩展来替换之。参见 MySQL:选择 API 指南以及相关 FAQ 来获取更多信息。用以替代本函数的有:mysqli_query(),PDO::query()

mysql_query()函数
支持版本:
(PHP 4, PHP 5)
mysql_query定义以及用法:
mysql_query — 发送一条 MySQL 查询
使用说明(Warning)
本扩展自 PHP 5.5.0 起已废弃,并在自 PHP 7.0.0 开始被移除。应使用 MySQLi 或 PDO_MySQL 扩展来替换之。用以替代本函数的有:
mysqli_query(),PDO::query()
函数传参:
mysql_query ( string $query [, resource $link_identifier = NULL ] ) : resource
mysql_query()向与指定的 link_identifier 关联的服务器中的当前活动数据库发送一条查询(不支持多条查询)。
参数解释:

参数描述
serverSQL 查询语句,查询字符串不应以分号结束。 查询中被嵌入的数据应该正确地转义。
link_identifierMySQL 连接。如不指定连接标识,则使用由 mysql_connect() 最近打开的连接。如果没有找到该连接,会尝试不带参数调用 mysql_connect() 来创建。如没有找到连接或无法建立连接,则会生成 E_WARNING 级别的错误。

返回值
mysql_query() 仅对 SELECT,SHOW,DESCRIBE, EXPLAIN 和其他语句 语句返回一个 resource,如果查询出现错误则返回 FALSE。
对于其它类型的 SQL 语句,比如INSERT, UPDATE, DELETE, DROP 之类, mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE。
返回的结果资源应该传递给 mysql_fetch_array() 和其他函数来处理结果表,取出返回的数据。
假定查询成功,可以调用 mysql_num_rows() 来查看对应于 SELECT 语句返回了多少行,或者调用 mysql_affected_rows() 来查看对应于 DELETE,INSERT,REPLACE 或 UPDATE 语句影响到了多少行。
如果没有权限访问查询语句中引用的表时,mysql_query() 也会返回 FALSE。
演示代码:

<?php
    mysql_connect("localhost", "root", "root");
    mysql_query("SET NAMES 'UTF8'");     
    mysql_select_db("test");
    $result = mysql_query("select * from demo");
    if (!$result)
        die("mySQL error: ". mysql_error()); //如果不存在result的值就返回错误信息,因为提示就是没有值
    echo "<table border='1' align='center'>";
    while($row = mysql_fetch_object($result))
    {
        
        echo "<tr><td width='120'>".$row->id."</td><td width='120'>".$row->title."</td><td width='120'>".$row->name."</td><td width='180'>".$row->message."</td></tr>";
        
    }
    echo "</table>";
?>

数据库表:

/*
Navicat MySQL Data Transfer

Source Server         : localhost
Source Server Version : 50553
Source Host           : localhost:3306
Source Database       : test

Target Server Type    : MYSQL
Target Server Version : 50553
File Encoding         : 65001

Date: 2020-09-30 00:53:05
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for demo
-- ----------------------------
DROP TABLE IF EXISTS `demo`;
CREATE TABLE `demo` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  `title` varchar(30) NOT NULL COMMENT '标题',
  `name` varchar(20) NOT NULL COMMENT '名称',
  `message` mediumtext NOT NULL COMMENT '描述',
  `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '日期',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='注释';

-- ----------------------------
-- Records of demo
-- ----------------------------
INSERT INTO `demo` VALUES ('1', '设计师', '小明', '小明讲课', '2020-09-30 00:08:24');
INSERT INTO `demo` VALUES ('2', '客服', '上飞燕', '飞燕客服', '2020-09-30 00:20:44');
INSERT INTO `demo` VALUES ('3', '前台', '农章霞', '前台小思', '2020-09-30 00:21:42');
INSERT INTO `demo` VALUES ('4', '经理', '胡适', '设计经理', '2020-09-30 00:21:42');
INSERT INTO `demo` VALUES ('5', '研发部门经理', '曹丽', '项目经理', '2020-09-30 00:23:35');

转载注明:

0 条评论

还没有人发表评论

发表评论 取消回复

记住我的信息,方便下次评论
有人回复时邮件通知我