php基础入门:mysql和Ajax
Posted 狼牙博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php基础入门:mysql和Ajax相关的知识,希望对你有一定的参考价值。
一、mysql的三种连接方式
1、面向对象的连接
$conn = new mysqli("localhost","root"," 密码 ","数据库的名");
if ($conn->connect_error){
echo "连接失败".$conn->connect_error."
";}
echo "连接成功";
1.1、面向对象插入数据
连接名->query(sql语句);
$conn->query($sql);
1.2、mysqli的预处理命令
预处理命令绑定好参数
$state = $conn->prepare("insert into 表名(字段名......) values(?,?,?......)");
$state->bind_param("sss",值1,值2,值3........);
//执行操作
$state->execute();
连接关闭
$state->close();
$conn->close();
2、面向过程连接
$servername = "localhost";
$username = "username";
$password = "password";
// 创建连接
$conn = mysqli_connect($servername, $username, $password,"数据库名");
// 检测连接
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "连接成功";
2.1、面向过程插入数据
mysqli_query->query(连接名,sql语句);
mysqli_query->query($conn,$sql);
3、PDO连接数据库
$servername = "localhost";
$username = "username";
$password = "password";
try {
$pdo = new PDO("mysql:host=$servername;dbname=数据库名", $username, $password);
// 设置 PDO 错误模式,用于抛出异常
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "连接成功";
//设置字符吗为UTF8的格式
$pdo->exec(\'set names utf8\');
} catch(PDOException $e)
{
echo $e->getMessage();
}
3.1、PDO插入数据
连接名->exec(sql语句)
$conn->exec($sql);
3.2、PDO的预处理命令
$state->prepare(sql语句);
$state->bindParam("值1");
$state->bindParam("值2");......
//执行语句
$state->execute();
二、ajax的使用和文件的上传案例实现
1、不同浏览器的适应XMLHtttpRequest对象
Internet Explorer 使用 ActiveXObjext.
其他浏览器使用的是XMLHttpRequest对象
克服这个问题可以使用判断语句来解决
var XMLHttp = "";
//判断的使用的不是IE浏览器,
if(window.XMLHttpRequestt){
XMLHttp = new XMLRequest();
}else{
//使用IE浏览器创建对象
XMLHttp = new ActiveXObjext("Microsoft.XMLHTTP");
}
2、使用执行Ajax
//调用open方法执行ajax操作
XMLHttp.open(“method”,"url",true/false):执行ajax方法
## method:执行的方法,get | post
## url:执行的路径
## true/false 执行的是同步还是异步 true是异步请求, false使用异步请求
//调用的send方法是运行上面的操作
XMLHttp.send();
//等待数据的响应
XMLHttp.onredaystatechange = function(){
if(XMLHttp.readyState == 4){
//例如响应数的数据的文本弹出来
alert(XMLHttp.responseTest);
}
}
//readyState状态码的解释
*readyState == 0 代理对象被创建了,但是没有调用open方法
*readyState == 1 open() 方法被调用了
*readyState == 2 send() 方法已经被调用,并且头部和状态已经可获得。
*redayState == 3 下载中; responseTest 属性已经包含部分数据。
*redatState == 4 下载的操作完成了
//status的数字意思
UNSENT(未发送) 0 OPENED(已打开) 0 LOADING(载入中) 200 DONE(完成) 200
以上是关于php基础入门:mysql和Ajax的主要内容,如果未能解决你的问题,请参考以下文章