MySQL插入数据
要插入数据,您应该具有管理员权限。它很容易插入一条新的数据。使用mysqli_query
函数创建MySQL数据库。此函数接受三个参数,成功时返回TRUE,失败时返回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()来获取此类查询的结果。 |
插入数据
<?php
$link = mysqli_connect('localhost', 'root', '123456','test');
if (!$link) {
die('连接错误 (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo '成功连接... ' . mysqli_get_host_info($link) . "\n";
// 插入数据
$sql = "INSERT INTO `test` (name) VALUES ('Jim')";
$query = mysqli_query($link,$sql);
if($query){
echo '插入数据成功!';
}else{
printf("错误消息: %s\n", mysqli_error($link));
}
mysqli_close($link); // 关闭数据库链接
?>
可以结合HTML的表单提交来保存数据到数据库
<?php
if(isset($_REQUEST['username']) && trim($_REQUEST['username']) != ''){
$username = trim($_REQUEST['username']);
}else{ ?>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>PHP MySQL 插入数据</title>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
<input type="text" name="username" /><br/>
<input type="submit" value="提交" >
</form>
</body>
</html>
<?php }
$link = mysqli_connect('localhost', 'root', '123456','test');
if (!$link) {
die('连接错误 (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo '成功连接... ' . mysqli_get_host_info($link) . "\n";
// 插入数据
$sql = "INSERT INTO `test` (name) VALUES ('".$username."')";
$query = mysqli_query($link,$sql);
if($query){
echo '插入数据成功!';
}else{
printf("错误消息: %s\n", mysqli_error($link));
}
mysqli_close($link); // 关闭数据库链接
?>