PHP MySQL插入数据
要插入数据,您应该具有管理员权限。它很容易插入一条新的数据。使用mysqli_query
函数执行SQL语句。此函数接受三个参数,成功时返回结果集对象,失败时返回FALSE。
mysqli_query( $link, $query [, $resultmode= MYSQLI_STORE_RESULT ])
注意:如果您将语句传递给mysqli_query()
,该语句的长度超过服务器的max_allowed_packet
,则返回的错误代码会有所不同,具体取决于您使用的是MySQL本机驱动程序(mysqlnd)还是MySQL客户端库(libmysqlclient)。行为如下:
- Linux上的mysqlnd返回错误代码1153.错误消息表示获得的数据包大于max_allowed_packet字节。
- Windows上的mysqlnd返回错误代码2006.此错误消息表示服务器已消失。
- 所有平台上的libmysqlclient都会返回错误代码2006.此错误消息表示服务器已消失。
参数 |
说明 |
$link |
由mysqli_connect() 或 mysqli_init() 返回的链接标识。 |
$query |
查询字符串。应正确转义查询中的数据。 |
$resultmode |
常数MYSQLI_USE_RESULT或MYSQLI_STORE_RESULT取决于所需的行为。默认情况下,使用MYSQLI_STORE_RESULT。如果你使用MYSQLI_USE_RESULT所有后续调用将返回错误命令不同步,除非你调用mysqli_free_result()使用MYSQLI_ASYNC(可与mysqlnd一起使用),可以异步执行查询。 然后使用mysqli_poll()来获取此类查询的结果。 |
查询数据
最常用的选项是使用函数mysqli_fetch_array()
。此函数将行作为关联数组,数字数组或两者返回。如果没有更多行,则此函数返回FALSE。
<?php
$link = mysqli_connect('mysql', 'test', '123456','test');
if (!$link) {
die('连接错误 (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo '成功连接... ' . mysqli_get_host_info($link) . "<br/>";
// 查询test库的test表查询name字段
$sql = "SELECT `name` FROM `test`";
$result1 = mysqli_query($link,$sql);
$result2 = mysqli_query($link,$sql);
$result3 = mysqli_query($link,$sql);
if ($result1) {
/* 以数字数组返回结果集 */
echo '以数字数组返回结果集<br/>';
while ($row = mysqli_fetch_array($result1, MYSQLI_NUM)) {
print_r($row);
echo "<br/>";
}
}
if ($result2) {
/* 以关联数组返回结果集 */
echo '以关联数组返回结果集<br/>';
while ($row = mysqli_fetch_array($result2, MYSQLI_ASSOC)){
print_r($row);
echo "<br/>";
}
}
if ($result3) {
/* 以关联数组和数字数组返回结果集 */
echo '以关联数组和数字数组返回结果集<br/>';
while ($row = mysqli_fetch_array($result3, MYSQLI_BOTH)){
print_r($row);
echo "<br/>";
}
}
/* 释放结果集 */
mysqli_free_result($result1);
mysqli_free_result($result2);
mysqli_free_result($result3);
mysqli_close($link); // 关闭数据库链接
?>
尝试一下
注意:查询结束后记得用mysqli_free_result()
函数释放结果集,和用mysqli_close()
关闭数据库资源句柄。