首页 > 代码库 > PHP MYSQL

PHP MYSQL

1、PHP MYSQL
$serverName
= "127.0.0.1";$userName = "root";$password = "2202125514";$databaseName = "test_1";$conn = new mysqli($serverName, $userName, $password, $databaseName);if($conn->connect_error){  echo("连接失败");} else{  echo("连接成功");}$sql = "create table ta_1(  id smallint unsigned primary key auto_increment,  name varchar(10),  ps varchar(50))";
if($conn->query($sql) == true){  echo(‘<br>‘ . "数据表ta_1创建成功");} else{  echo("<br>" . "创建失败<br>" . "错误信息:" . $conn->error);}$conn->query($sql_1); //执行某条mysql指令$sql = "insert into ta_1(name, age) values(‘john_1‘, ‘19‘);";$sql .= "insert into ta_1(name, age) values(‘man_4‘, ‘30‘);";$sql .= "insert into ta_1(name, age) values(‘amn_5‘, ‘26‘);";$sql .= "create table ta_3(country varchar(10));";if($conn->multi_query($sql)){ //执行多条sql语句  echo("成功<br>");} else{  echo("失败<br>错误信息:" . $conn->error);}2、MySQLi 预处理语句用于防止sql注入预处理语句的工作原理如下:  1)预处理:创建 SQL 语句模板并发送到数据库。预留的值使用参数 "?" 标记 。例如:?INSERT INTO MyGuests (firstname, lastname, email) VALUES(?, ?, ?)  2)数据库解析,编译,对SQL语句模板执行查询优化,并存储结果不输出。  3)执行:最后,将应用绑定的值传递给参数(”?” 标记),数据库执行语句。应用可以多次执行语句,如果参数的值不一样。相比于直接执行SQL语句,预处理语句有两个主要优点:  预处理语句大大减少了分析时间,只做了一次查询(虽然语句多次执行)。  绑定参数减少了服务器带宽,你只需要发送查询的参数,而不是整个语句。  预处理语句针对SQL注入是非常有用的,因为参数值发送后使用不同的协议,保证了数据的合法性。$stmt = $conn->prepare("insert into ta_1(name, age) values(?, ?);");$stmt->bind_param("si", $_name, $_age);$_name = "man_11";$_age = 14;$stmt->execute();$_name = "man_12";$_age = 15;$stmt->execute();echo("插入成功"); $stmt->close();$conn->close();3、bind_param() 函数$stmt->bind_param("sss", $firstname, $lastname, $email);该函数绑定了 SQL 的参数,且告诉数据库参数的值。 "sss" 参数列处理其余参数的数据类型。s 字符告诉数据库该参数为字符串。参数有以下四种类型: i - integer(整型) d - double(双精度浮点型) s - string(字符串) b - BLOB(binary large object:二进制大对象)每个参数都需要指定类型。通过告诉数据库参数的数据类型,可以降低 SQL 注入的风险。
4、查询数据$sql = "select * from ta_1;"; $result = $conn->query($sql); if($result->num_rows > 0){ while($row = $result->fetch_assoc()){ echo($row["id"] . "--" . $row["name"] . "--" . $row["age"] . "<br>"); } } else{ echo("查询不到结果"); }$sql = "select * from ta_1 where(id=11);";$result = $conn->query($sql);$row = $result->fetch_assoc();//$row = $result->fetch_array();echo("hello " . $row["name"] . "<br>now you are " . $row[“age"]);

通配符的使用
$sql = ‘select * from ta_1 where(name like \‘‘ . $s . ‘%\‘)‘;

 

PHP MYSQL