十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
mysqli有两种数据库连接方式:
成都创新互联成立于2013年,先为合水等服务建站,合水等地企业,进行企业商务咨询服务。为合水企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
1、面向过程式连接:
mysqli_connect('localhost','xxx','xxx','xxx');
mysqli_query('');
后使用mysqli_fetch_assoc方法获取到数据。
2、面向对象式连接:
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$result = $mysqli-query('');
后使用$result-fetch_assoc()获取数据。
至于num_rows是获取查询到的行数的方法。
?php
$conn=new mysqli("127.0.0.1", "root", "jack123456", "test");
if(mysqli_connect_error()){
$this-error = mysqli_connect_error();
return FALSE;
}
$conn-query("SET NAMES UTF8");
$Id = $_GET['id']; //具有唯一性,自增
$mobile = $_GET['mobile']; //具有唯一性
$sql1 = "select * from users where ID=$Id";
//这里我要判断这条数据是否存在,存在就获取mobile,无需循环
$rs = $conn-query($sql1);
if ($rs-num_rows!==0) {
$row = $rs - fetch_assoc();
$mobile= $row['mobile'];
$rs-close();
echo "get";
} else {//如果数据不存在,就新增一条
$sql2 = "insert into users (mobile) values('$mobile')";
$conn-query($sql2);//插入之后,获取该信息,这里要从数据库中获取,不要Get的数据。
$sql3 = "select * from users where mobile = '$mobile '";
if ($rs = $conn-query($sql3)) {
$row = $rs - fetch_assoc();
$Id = $row['ID'];
$mobile = $row['mobile'];
$rs-close();
echo "charu";
}else{
echo '插入数据失败';
}
}
$sql4 = "update Users set loginIp='127.0.0.1' where ID='$Id'";
$conn-query($sql4);
mysqli_close($conn);//关闭连接
表结构 字段名的大小写 一定要注意
?php
$servername = "localhost"; //你的连接地址,可以是ip
$username = "username"; //你的用户名
$password = "password"; //你的密码
$dbname = "myDB"; //你要连接数据库的名字
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn-connect_error) {
die("连接失败: " . $conn-connect_error);
}
echo "连接成功";
学习可以参考:
面向对象,是把一些常用的操作进行类封装起来,方便调用,需要用的地方,调用一下即可,这样,开发方便,维护也方便!修改这个封装的类,即可达到修改全站的目的!
面向过程,是在每一个地方都使用单独的代码进行操作,这样开发的时候重复累赘,维护的时候也很累,你修改了哪里,就只在哪里起作用!
比如,初学php,最基本的连接数据库和查询数据库都会这样写:
?php
$Con = mysql_connect(.........);
mysql_query('set names utf8');
mysql_select_db(....);
$query = mysql_query( $sql );
while( $Rs = mysql_fetch_aray( $query ) ) {
echo $Rs[0];
}
等等这样,操作10次数据库,就写10次这样的代码!
而如果封装一个类,意义就不同了!
?php
class mysql{
var $Con;
var $table;
public ConnEct( $local, $root, $pass, $base, $code){
$this - Con = mysql_connect( $local, $root, $pass);
mysql_query('set names ' . $code);
mysql_select_db( $base );
}
public Tab( $Table) {
$this - table = $Table;
return $this;
}
public Select(){
$rs = mysql_query('select * from ' . $this - table)
while( $Rs = mysql_fetch_array( $rs ) {
$Rule[] = $Rs;
}
return $Rule;
}
}
把上面的代码保存成一个文件,比如是mysql.php,在需要操作数据库的地方引入这个文件,那么要查询数据库的一个表就非常方便了!
?php
include_once 'mysql.php';
$Mysql = new mysql; //实例化一个类;
$Mysql - ConnEct('localhost', 'root', 123456, 'table', 'utf8');//连接数据库
$Resul = $Mysql - Tab('user') - Select();//查询user表,并返回数组结果
print_r( $Resul ); //打印这个数组
以上个人见解,仅供参考