当前位置:首页 » 编程语言 » phpmysql实例

phpmysql实例

发布时间: 2023-12-28 04:48:42

1. php+mysql多条件多值查询

PHP+Mysql多条件多值查询示例代码:

index.html代码:

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""

<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=UTF-8">
<title>SQL多条件查询示例</title>
</head>
<body>
<formmethod="post"action="deal.php">
<h1>房屋出租</h1>
房屋类型:<selectname="type">
<optionvalue="1">一居室</option>
<optionvalue="2">二居室</option>
<optionvalue="3">三居室</option>
</select><br/>
面积:<inputname="area"type="text"/><br/>
地址:<inputname="addr"type="text"/><br/>
<inputname="btn"type="submit"value="搜索"/><br/>
</form>
</body>
</html>

deal.php文件:

<?php
//连接数据库
$conn=mysql_connect("localhost","root","");

//选择数据库
$db=mysql_select_db("数据库名");

//接收参数
$type=$_POST['type'];
$area=$_POST['area'];
$addr=$_POST['addr'];

//SQL语句主题
$query="select*fromroomwhere";

//根据条件和传的值拼接sql语句
//判断面积不为空
if($type!=""){
//然后根据具体面积分情况拼接
switch($type){
case1:
//一居室
$query.="room_type=1";
break;
case2:
$query.="room_type=2";
break;
case3:
$query.="room_type=3";
break;
}
}

//面积
if($area!=""){
$query.="andarea={$area}";
}

//地址
if($addr!=""){
$query.="andaddrlike'%{$addr}%'";//地址
}

//执行查询
$result=mysql_query($query);

//遍历结果
echo"搜搜结果如下:";
while($row=mysql_fetch_array($result)){

echo"地址:".$row['addr'];
echo"<br/>";
echo"面积:".$row['area'];
echo"<br/>";
echo"居室:".$row['type'];
echo"<br/>";
echo"价格:".$row['addr'];
echo"<br/>";
//等等
}

?>

2. PHP+MYSQL 实现队列 进行发送短信怎么做

最近遇到一个批量发送短信的需求,短信接口是第三方提供的。刚开始想到,获取到手机号之后,循环调用接口发送不就可以了吗?

但很快发现问题:当短信数量很大时,不仅耗时,而且成功率很低。

于是想到,用PHP和MySQL实现一个消息队列,一条一条的发送短信。下面介绍具体的实现方法:

首先,建立一个数据表sms,包含以下字段:

id,
phone, //手机号
content //短信内容
将需要发送的短信和手机号存入sms表中。

接下来,需要用PHP实现一个定时器,定时读取一条记录,并发送短信:

<?php
$db = new Db();
$sms = new Sms();
while(true){
$item = $db->getFirstRecord(); //获取数据表第一条记录
if(!$item){
//如果队列中没有数据,则结束定时器
break;
}
$res = $sms->send($item['phone'],$item['content']); //发送短信
if($res){
$db->deleteFristRecord(); //删除发送成功的记录
echo $item['phone'].'发送成功';
}else{
echo $item['phone'].'发送失败,稍后继续尝试';
}
sleep(10); //每隔十秒循环一次
}

echo '发送完毕!';
?>
将代码保存为timer_sms.php,打开命令行,执行定时器:

php timer_sms.php
好了,php定时器将会根据设定的时间间隔(这里设的是10秒),自动完成发送短信的任务。任务完成后将自动退出定时器,不再占用服务器资源。

根据我的测试,PHP定时器占用资源并不多,不会对服务器造成压力。而且是异步访问数据库,也不会影响数据库的运行。

这种方式的优点是:

1、后台运行,前台无需等待

2、成功率高,失败的记录会自动重发,直到成功

3. PHP同时连接多个mysql数据库示例代码


这篇文章主要介绍了PHP同时连接多个mysql数据库的具体实现,需要的朋友可以参考下
实例:
代码如下:
$conn1 = mysql_connect("127.0.0.1", "root","root","db1");
mysql_select_db("db1", $conn1);
$conn2 = mysql_connect("127.0.0.1", "root","root","db2");
mysql_select_db("db2", $conn2);
$sql = "select * from ip";
$query = mysql_query($sql);
if($row = mysql_fetch_array($query))
echo $row[0]."";
$sql = "select * from web ";
$query = mysql_query($sql);
if($row = mysql_fetch_array($query))
echo $row[0];
?
这段代码存在问题,在程序执行时会报错:PHP Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in ....
原因分析:
程序开始建立两个数据库链接,函数mysql_query()原型:
resource mysql_query ( string $query [, resource $link_identifier ] )
向与指定的连接标识符关联的服务器中的当前活动数据库发送一条查询。如果没有指定 link_identifier,则使用上一个打开的连接。如果没有打开的连接,本函数会尝试无参数调用 mysql_connect() 函数来建立一个连接并使用禅如野之。查询结果会被缓存橡团。
在本例中由于没有指定link_identifier,所以,在执行第一条sql时,默认使用的是上一个打开的链接,即$conn2,而实际上第一条sql语句应该使用的是$conn1,所以导致报错,所以为了能贺喊够链接多个mysql数据库,可以使用如下方法:
方法1:在mysql_query函数中指定所用连接,即:
代码如下:
$conn1 = mysql_connect("127.0.0.1", "root","root","db1");
mysql_select_db("Muma", $conn1);
$conn2 = mysql_connect("127.0.0.1", "root","root","db2");
mysql_select_db("proct", $conn2);
$sql = "select * from ip";
$query = mysql_query($sql,$conn1); //添加连接$conn1
if($row = mysql_fetch_array($query))
echo $row[0]."";
$sql = "select * from web ";
$query = mysql_query($sql, $conn2);
if($row = mysql_fetch_array($query))
echo $row[0];
?
方法2:在sql语句中关联所用数据库,此时可以省略mysql_query的第二个参数,即:
代码如下:
$conn1 = mysql_connect("127.0.0.1", "root","root","db1");
mysql_select_db("db1", $conn1);
$conn2 = mysql_connect("127.0.0.1", "root","root","db2");
mysql_select_db("db2", $conn2);
$sql = "select * from db1.ip"; //关联数据库
$query = mysql_query($sql);
if($row = mysql_fetch_array($query))
echo $row[0]."";
$sql = "select * from db2.web ";
$query = mysql_query($sql);
if($row = mysql_fetch_array($query))
echo $row[0];
?

4. 教你巧用PHP+MySQL搭建一个聊天室

MySQL并发能力强 响应速度快 是性能优异的数据库软件;PHP是功能强大的服务器端脚本语言 笔者在山西铝厂网站开发中 采用PHP +MySQL 建立了多种应用 下面 以一个简单的聊天室设计为例 介绍PHP+MySQL在网页开发中的应用

总体设计

构思与规划:

聊天室的基本原理 就是把每个连上同一网页的用户传送的发言数据储存起来 然后将所有的发言数据传给每一用户 也就是说 用数据库汇集每个人的发言 并将数据库中的数据传给每一个人就实现了聊天室的功能

表设计

首先使用MySQL建立表chat用来储存用户的发言:

mysql> CREATE TABLE chat > (chtime DATATIME > nick CHAR( ) NOT NULL >words CHAR( ));

表中只设定了三个域 chtime是发言的时间 nick为发言者的昵称 words是发言的内容 发言最多 个字符

网页设计

一个最简单的聊天室通常需要两个页框:一个页让亏框是用户输入发言的表单 另一个用来显示大家的发言 所以代码段通常至少需要如下几段:

建立页框的结构(main php)

显示大家发言的程序段(cdisplay php)

传送用户发言的程序段(speak php)

用户登录进入聊天室程序段(login php)

代码设计

以上规划完成后 就可以着手代码设计了 采用php可以非常简明实现以上的功能

用户登录login php 本段代码是一个完全HTML网页

<> <head> <title>用户登录</title> </head> <body>请输入您的昵称<br> <form action= main php method= post target= _self > <input type= text name= nick cols= > <input type= submit value= 登录 > </body> </>

用户提交自己的昵称后 就进入到聊天室 以下的处理交由main php处理

页框主体代码段main php:

<? 迅李setcookie( nick $nick) //用cookie记录用户昵称 是常用的传递变量方法 ?> <> <title>山西铝厂聊天室试用版ver </title> <frameset rows= % * > <frame src= cdisplay php name= chatdisplay > <frame src= speak php name= speak > </frameset> </>

显示发言cdisplay php

本代码段的任务是将表chat中的数据取出 显示在页框中 每次刷新时 取数据库中最近的 条发言 同时 为防止数据库无限增大 需设计删除陈旧数据的功能 代码如下

<> <head> <title>显示用户发言</title> <meta equiv= refresh content= ;url=cdisplay php > </head> <body> <? $link_ID=mysql_connect( main root ); //链接Mysql服务器 服务器名为main 管理员名为root 亩滑迟mysql_select_db( abc ); //选择数据库 $str= select * from chat ORDER BY chtime; ; //查询字符串 $result=mysql_query($str $link_ID); //送出查询 $rows=mysql_num_rows($result); //取得查询结果的记录笔数 //取得最后 笔发言 并显示 @mysql_data_seek($resut $rows ); //移动记录指针到前 笔记录 if ($rows< ) $l=$rows; else $l= ; //记录总数小于 则最多为该记录数 for ($i= ;$i<=$l;$i++) { list($chtime $nick $words)=mysql_fetch_row($result); echo $chtime; echo ;echo $nick; echo : ; echo $words; echo <BR> ; } //清除库中过时的数据 @mysql_data_seek($result $rows ); //移动记录指针到前 笔记录 list($limtime)=mysql_fetch_row($result); $str= DELETE FROM chat WHERE chtime< $limtime ; ; $result=mysql_query($str $link_ID); //送出查询字符串 库中只留前 个记录 mysql_close($link_ID); ?> </body> </>

送出发言到数据库speak php

<> <head> <title>发言</title> </head> <body> <? If ($words) { $link_ID=mysql_connect( main root ); mysql_select_db( abc ); //数据库名为abc $time=date(y) date(m) date(d) date(h) date(i) (date(s); //取得当前时间 $str= INSERT INTO chat(chtime nick words) values ( $time $nick $words ); ; mysql_query($str $link_ID); //送出发言到数据库 mysql_close($link_ID); } ?> //输入发言的表单 <form action= speak php method= post target= _self > <input type= text name= words cols= > <input type= submit value= 发言 > </form> </body> </>

lishixin/Article/program/PHP/201311/21516

5. 谁给个php操作mysql类并有详细使用说明或例子

下面这个,是针对php5的一个简单数据库封装类,适合学习,其他的如删除、更新等操作,你可以自己加上:
<?php
class Mysql{ //首先定义一个类,首写字母大写
public $host;//服务器名,访问修饰符PUBLIC证明$host是一个公共的属情在类的内部外部都可访问,可以被继承
public $user;//用户名,是公共的属性
private $pass;//密码,问修饰符private证明$pass是私有的.只能在类的内部使用且不能被继承.
public $dbname;//数据库名,也是公共的属性.
//__construct声名这是一个造函数,定义一些初始的信息.有三个参数
public function __construct($host,$user,$pass,$dbname){
$this->host = $host;
$this->慧雀user = $user;
$this->戚晌pass = $pass;
$this->dbname = $dbname;
$link = @mysql_connect($this->host,$this->user,$this->pass)
or die("error");
@mysql_select_db($this->dbname,$link)
or die("error2");
}
//定义数据库的查寻和显示函数
function myQuery($sql){
$result = mysql_query($sql);
if(!$result){
echo "error3";
exit;
}
$num = mysql_num_rows($result);
if($num){
echo "NO".$num;
}
while($row = mysql_fetch_assoc($result)){
echo '<tr><td bgcolor="#fffddd"><pre>'.htmlspecialchars(stripslashes($row['body']))."<pre></td></tr>";
}
}
}
$rutt = new Mysql('localhost','root','ssss','calvin');//实例化一个类...记住这里的参数是和构高碧锋造函数的参数一样的...
$rutt->myQuery('select * from calvin_body');//运行数据库查寻并显示的函数..
?>

下面这个是针对php5以下版本的数据库封装类,体现了php类的继承,一个许愿版程序的:
<?php
/*
* FileName: DatabaseSQL.inc.php
* Author: Terry
* Function: 建立DatabaseSQL对象,实现对数据库的基本操作
* Version : Blue-System v2.0
* CreateDate: 2004-03-10
* Copyright: Blue-Workshop / http://www.blue4me.net
*/

// 定义DatabaseSQL对象
Class DatabaseSQL
{
var $CONN = ""; // 连接号
var $HOST = "Localhost"; // 主机名
var $USER = ""; // 用户名
var $PASSWORD = ""; // 密码

// DatabaseSQL类的构造函数
function DatabaseSQL($DBNAME)
{
$user = $this -> USER;
$password = $this -> PASSWORD;
$host = $this -> HOST;
$db = $DBNAME;

// 连接数据库
$conn = mysql_connect($host, $user, $password);
mysql_select_db($db, $conn);
$this -> CONN = $conn;
return true;
}

// 定义查询操作
function select($strSQL = "")
{
if ( empty($strSQL) ) return false;
if ( empty($this -> CONN) ) return false;
$conn = $this -> CONN;

// 发送SQL语句,获得结果
$result = mysql_query($strSQL, $conn);
if ( (!$result) or (empty($result)) ) {
return false;
}
$num = 0;
$data = array();
// 将查询结果放二维数组中
while ( $row = mysql_fetch_array($result) ) {
$data[$num] = $row;
$num++;
}
mysql_free_result($result);
return $data;
}

// 定义插入操作
function insert($strSQL = "")
{
if ( empty($strSQL) ) return false;
if ( empty($this -> CONN) ) return false;
$conn = $this -> CONN;

// 发送SQL语句,插入新数据
$result = mysql_query($strSQL, $conn);
if ( !result ) return false;

// 获得记录的id号
$result = mysql_insert_id();
return $result;
}

// 定义更新操作
function update($strSQL = "")
{
if ( empty($strSQL) ) return false;
if ( empty($this -> CONN) ) return false;
$conn = $this -> CONN;

// 发送SQL语句,更新数据库
$result = mysql_query($strSQL, $conn);
return $result;
}

// 定义删除操作
function delete($strSQL = "")
{
if ( empty($strSQL) ) return false;
if ( empty($this -> CONN) ) return false;
$conn = $this -> CONN;

// 发送SQL语句,删除记录
$result = mysql_query($strSQL, $conn);
return $result;
}

}
?>

----------------------------------

<?php
/*
* FileName: Wish.inc.php
* Author: Terry
* Function: 建立Wish对象,实现对许愿板进行操作功能
* Version : Blue-System v2.0
* CreateDate: 2004-03-10
* Copyright: Blue-Workshop / http://www.blue4me.net
*/

require "config.inc.php";
require "DatabaseSQL.inc.php";

// 定义Wish对象
Class Wish extends DatabaseSQL
{
// 构造函数
function Wish()
{
$DBName = $GLOBALS["dbname"];
$this -> DatabaseSQL($DBName);
}

// 添加新愿望(use in wish/save.php?action=add_wish)
function AddWish($name,$receiver,$type,$address,$content,$hide,$addtime)
{
$strSQL = "insert into Wish (Name, Receiver, Type, Address, Content, Hide, AddTime) values ('$name', '$receiver', '$type', '$address', '$content', '$hide', '$addtime')";
$result = $this -> insert($strSQL);
return $result;
}

// 修改指定id的愿望内容(use in save.php?action=edit_wish)
function EditWish($wid,$name,$receiver,$type,$address,$content,$hide)
{
$strSQL = "update `Wish` set `Name` = '$name', `Receiver` = '$receiver', `Type` = '$type', `Address` = '$address', `Content` = '$content', `Hide` = '$hide' where `WID` = '$wid' ";
$result = $this -> update($strSQL);
return $result;
}

// 愿望列表(use in index.php)
function ListWish($startid,$list_nums)
{
$strSQL = "select * from Wish order by AddTime desc LIMIT $startid,$list_nums";
$result = $this -> select($strSQL);
return $result;
}

// 获取指定愿望信息(use in index.php?go=view_wish)
function GetWish($wid)
{
$strSQL = "select * from Wish where WID = '$wid'";
$result = $this -> select($strSQL);
return $result;
}

// 更新指定愿望的浏览数(use in index.php?go=view_wish)
function UpdateHit($wid)
{
$strSQL = "update `Wish` set `Hit` = ( `Hit` + 1 ) where `WID` = '$wid'";
$result = $this -> update($strSQL);
return $result;
}

// 删除指定愿望信息(use in save.php?action=del_wish)
function DelWish($wid)
{
$strSQL = "delete from Wish where WID = '$wid'";
$result = $this -> delete($strSQL);
return $result;
}

}
?>

---------------------------------------

<?php
/*
* FileName: config.inc.php
* Author: Terry
* Function: 系统基本设置
* Version : B.S - Wish v1.0
* CreateDate: 2004-03-19
* Copyright: Blue-Workshop
* Tec-Support: http://www.blue4me.net / http://feeltouch.8u8.com
* Attention: 请保留版权信息,谢谢 ^_^
*/

// 数据库信息
$dbhost = "Localhost"; /* 主机名 */
$dbuser = ""; /* 数据库用户 */
$dbpwd = ""; /* 数据库密码 */
$dbname = "BS_Wish"; /* 数据库名 */

// 管理员信息
$adminname = "blue"; /* 初始化管理员 */
$adminpwd = "blue"; /* 初始化管理密码 */
?>

6. php mysql怎么创建数据库图解

在一个服务器上一般来讲都不止一个站点,更不止一个MySQL(和PHP搭配之最佳组合)数据库。

为了防止安全隐患,我们一般针对每个数据库都设置了独立的数据库访问帐号,该帐号仅有访问该数据库的权限。下面就让我们来具体演示一下:
1、首先我们要登陆php(做为现在的主流开发语言)MyAdmin,不做演示。

4、在主界面的右边点击“权限”来创建数据库帐号。


5、在权限页面中,我们点击“添加新用户”

6、在该页面中,我们填写要创建的数据库用户名,该用户的访问范围,及密码。

如上图,我们填写了用户名为:cncmsuser,该数据库用户只允许本机访问,主机一项选择本地;密码我们使用自动生成的,点下面的“Generate”会生成一个随机密码,然后点“Copy”会自动填写到密码框中。
下面的框都不选,直接拉到页面最下面点执行即可创建一个新用户。
数据库用户创建成功,会返回如下页面:

7、最重要的一步,设置该用户的数据库访问权限
在数据库用户添加成功返回的页面中可以直接设置权限。这里我们选择按数据库指定权限:

如上图,在数据库列表中选择我们刚刚创建的cncmstest,即会自动进入该数据库的权限设置页面。

在上图的权限设置中,我们把“数据”、“结构”两列的权限全部选中,管理权限都不要选。点执行即可。

到这里,我们已经全部设置完毕了,创建了一个数据库:cncmstest,并创建了数据库用户cncmsuser,特别指定了该用户只对cncmstest的访问权限。如此,便达到了我们一开始所讲的目的:为每一个数据库指定独立的用户访问权限。

热点内容
yy静态头像源码 发布:2024-11-30 08:30:21 浏览:680
javaparseint 发布:2024-11-30 08:23:12 浏览:909
抖音密码箱保险在哪里 发布:2024-11-30 08:10:43 浏览:998
广告文学脚本格式 发布:2024-11-30 08:09:57 浏览:634
期末到了解压的方法 发布:2024-11-30 07:53:49 浏览:865
sqlce数据库 发布:2024-11-30 07:41:21 浏览:726
奇瑞5x配置如何 发布:2024-11-30 07:39:50 浏览:642
魔域数据库修改 发布:2024-11-30 07:37:10 浏览:131
c语言开发者 发布:2024-11-30 07:30:34 浏览:388
西门子触摸屏字体无法编译 发布:2024-11-30 07:26:13 浏览:302