SaeMysql操作示例
新浪sae的官方说明文档:http://apidoc.sinaapp.com/sae/SaeMysql.html
Class SaeMysql 具体实现:http://apidoc.sinaapp.com/__filesource/fsource_sae__saemysql.class.php.html
新浪官方文档已经给出了简单的示例:
<?php
$mysql = new SaeMysql(); $sql = "SELECT * FROM `user` LIMIT 10";
$data = $mysql->getData( $sql );
$name = strip_tags( $_REQUEST['name'] );
$age = intval( $_REQUEST['age'] );
$sql = "INSERT INTO `user` ( `name` , `age` , `regtime` ) VALUES ( '" . $mysql->escape( $name ) . "' , '" . intval( $age ) . "' , NOW() ) ";
$mysql->runSql( $sql );
if( $mysql->errno() != 0 )
{
die( "Error:" . $mysql->errmsg() );
} $mysql->closeDb();
?>
但是,我觉得还不够详细,尤其是对于初学者来说,或许这就是大牛的风格吧,给出的示例比较简短精辟。
我们一般对于数据库一般进行增、删、改、查的操作。
其中增加、删除、修改操作都是执行sql语句,然后根据错误代码看看是否正确执行了就可以了;
对于查询操作,一般分为两类:
查询得到一条记录,常用在登陆的时候查询用户名和密码的操作,SaeMysql类中对应方法getLine()返回的是一个一维数组;
查询得到多条记录,返回的结果是一个二维数组,需要使用两层foreach来进行输出,废话少说,上代码:
<?php
/*
* Author:qianshou
* Date :2014/4/28
* Comment:本来打算去上自习来着,计划又泡汤了
*/
$mysql = new SaeMysql(); //该类在初始化的过程中就完成了链接数据库的工作 //===============执行插入数据的操作========================== $sql = "INSERT INTO `demo_table`(`id`,`name`,`password`) VALUES
('','qianshou','12345'),
('','naruto','abcde'),
('','kakaxi','asdfg')"; $mysql->runSql($sql); //执行插入数据的操作 if($mysql->errno() != 0 )
{
die( "Error:" . $mysql->errmsg() );
}
else
{
echo "Data inserted successfully!<br/>";
} //=============执行取出数据的操作============================= //取出一行数据 $sql = "SELECT * FROM `demo_table` WHERE `id`='1'"; $row = $mysql->getLine($sql); foreach ($row as $key=>$value)
{
echo $key."=>".$value."<br/>";
} echo "<br/>next demo<br/><br/>"; //取出多行数据 $sql = "SELECT * FROM `demo_table`"; $result = $mysql->getData($sql); foreach ($result as $row)
{
foreach ($row as $key=>$value)
{
echo $key."=>".$value."<br/>";
}
echo "===================<br/>";
}
$mysql->closeDb();
?>
输出结果:
id=>1
name=>qianshou
password=>12345
next demo
id=>1
name=>qianshou
password=>12345
===================
id=>2
name=>naruto
password=>abcde
===================
id=>3
name=>kakaxi
password=>asdfg
===================
SaeMysql操作示例的更多相关文章
- C#文件的拆分与合并操作示例
C#文件的拆分与合并操作示例代码. 全局变量定义 ;//文件大小 //拆分.合并的文件数 int count; FileInfo splitFile; string splitFliePath; Fi ...
- java-redis集合数据操作示例(三)
redis系列博文,redis连接管理类的代码请跳转查看<java-redis字符类数据操作示例(一)>. 一.集合类型缓存测试类 public class SetTest { /** * ...
- java-redis列表数据操作示例(二)
接上篇博文<java-redis字符类数据操作示例(一)>,redis连接管理类的代码请跳转查看. 一.列表类型缓存测试类 public class ListTest { /** * 主测 ...
- 文件操作示例脚本 tcl
linux 下,经常会对用到文件操作,下面是一个用 tcl 写的文件操作示例脚本: 其中 set f01 [open "fix.tcl" w] 命令表示 打开或者新建一个文件“fi ...
- phpExcel 操作示例
片段 1 片段 2 phpExcel 操作示例 <?php //写excel //Include class require_once('Classes/PHPExcel.php'); requ ...
- Go interface 操作示例
原文链接:Go interface操作示例 特点: 1. interface 是一种类型 interface 是一种具有一组方法的类型,这些方法定义了 interface 的行为.go 允许不带任何方 ...
- Hudi 数据湖的插入,更新,查询,分析操作示例
Hudi 数据湖的插入,更新,查询,分析操作示例 作者:Grey 原文地址: 博客园:Hudi 数据湖的插入,更新,查询,分析操作示例 CSDN:Hudi 数据湖的插入,更新,查询,分析操作示例 前置 ...
- C++图结构的图结构操作示例
示例代码: /* By qianshou 2013/10/5明天就要开学了~哎~ */ #include<iostream> using namespace std; /********* ...
- Jquery cookie操作示例,写入cookie,读取cookie,删除cookie
<html> <head> <meta name="viewport" content="width=device-width" ...
随机推荐
- 在windows环境初步了解tuxedo
最近换了一份工作,新公司使用tuxedo来简化应用的开发,而我参加工作这么多年,虽说略懂c++的开发,但是也没有用过tuxedo这种古老的东西.既然没有接触过,那就学学吧.先描述一下道路的曲折性吧. ...
- Qt图形视图体系结构示例解析(视图、拖拽、动画)
本博的示例来自与QT Example:C:\Qt\Qt5.9.3\Examples\Qt-5.9.3\widgets\graphicsview\dragdroprobot 将通过分析示例完成主要功能: ...
- debezium 数据变更工具使用
1. 作用 简单概述就是CDC(change data capture),实时数据分析领域用的比较多 2. 简单使用(基于官网的docker 说明) 备注: 测试没有使用守护进程模式为了方便测 ...
- flask之redis
redis 连接需要host port passwod Hash:key-fields-value(做缓存)相当于一个key对于一个map,map中还有key-valueList:有顺序可重复(处理不 ...
- Volley请求图片
ImageRequest imageRequest = new ImageRequest(Config.USER_ASSETS_URL + md5(userid) + "/images/av ...
- ubuntu下安装ros出现“无法下载-package.ros.org中某个包-校验和不符”的解决方法
新安装的Ubuntu14.04,为了科研马上准备装ros indigo,却困难重重,一步一个坎. 比如说按照ros wiki里面一步一步来,当运行sudoapt-get update 然后出现下列情况 ...
- CodeReview是开发中的重要一个环节,整理了一些关于jupiter for java
什么是代码评审(CodeReview)? 代码评审也称代码复查,是指通过阅读代码来检查源代码与编码标准的符合性以及代码质量的活动. Jupiter提供了代码行级别的评审批注功能,方便评审参与人了解具体 ...
- 找回mysql root用户的密码
1.停掉mysql服务ps -ef | grep mysqldkill -9 mysql进程的pid2.vi /etc/my.cnf找到[mysqld]在下面添加一行skip-grant-tables ...
- 「自己开发直播」rtmp-nginx-module实现直播状态、观看人数控制
这是自己搭建直播服务器.开发直播平台系列的文章,前面两篇文章分别为: 通过Nginx-rtmp-module搭建直播服务器并实现直播 实现nginx-rtmp-module多频道输入输出与权限控制 这 ...
- 【转】JMeter基础之——录制脚本
Jmeter 是一个非常流行的性能测试工具,虽然与LoadRunner相比有很多不足,比如:它结果分析能力没有LoadRunner详细:很它的优点也有很多: ● 开源,他是一款开源的免费软件,使用它你 ...