html input 查询mysql

html input 查询mysql,第1张

项目根目录的1文件夹下新建index.php

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>查询</title>

</head>

<body>

<form method="post">

    <input type="text" name="keyword" value="">

    <input type="submit" value="查询">

</form>

<?php

if (isset($_POST['keyword']) && !empty($_POST['keyword'])) {

 $host = "localhost"

 $username = "root"

 $password = "123456"

 $database = "test"

 $mysqli = new mysqli($host, $username, $password, $database)

 if ($mysqli->connect_errno) {

 echo '数据库连接错误'

 exit

 }

 //设置数据库编码格式

 $mysqli->set_charset("UTF8")

 /*编写sql获取分页数据 SELECT*FROM 表名 LIMIT 起始位置,显示条数*/

  

 $keyword = $_POST['keyword']

 $sql = "select b.id,b.name from account a,name b where a.id=b.userid and a.user='" . $keyword . "'"

 /*把sql语句传送到数据库*/

 $query = $mysqli->query($sql)

 echo "<table border='#CCF solid 1px'>"

 echo "<tr><td>ID</td><td>NAME</td></tr>"

 while ($row = $query->fetch_assoc()) {

 echo "<tr><td>" . $row['id'] . "</td><td>" . $row['name'] . "</td></tr>"

 }

 echo "</table>"

 $mysqli->close()

}

?>

</body>

</html>

效果

在 html 规范里,与换行有关的标签之一是<br />标签。由此分析,给文本区里的文字的每一行头尾加入<br />标签即可以 html 的方式达到存储其换行状态的目的。php接受文本区内容的方式是把文本区的全部字符当作一个单一的 string 变量来实现,因此,行的概念并不直接,好在来自文本区的字符包含有回车符,一个回车符代表一行的结束,我们可以通过整个字符串的回车符识别该文本所包含的行,从而给各行尾加入<br />标签以便将段落分开。

另外,在将文本区的数据发送到Mysql之前,其中的敏感字符如空格、单引号、双引号、大于号、小于号也要经过处理。

以下代码

假设文本区的文本被视作变量 $str 。

function text_dowith($str)

{

//将文本区的数据格式化为Mysql能接受的Html数据格式(去除容易引起Mysql误解的敏感字符)。

$str = ereg_replace(" "," ", $str)//将空格转化为html格式

$str = ereg_replace("'","'",$str)//将单引号转化为html格式

$str = ereg_replace('"','"',$str)//将双引号转化为html格式

$str = ereg_replace("<","<",$str)//将'<'转化为html格式

$str = ereg_replace('>','>',$str)//将'>'转化为html格式

$str = ereg_replace(chr(13),'<br />',$str)//将换行符转化为html格式,,根据Textarea的wrap属性确定是否有此行,如chr(13)和“/n/r”两种格式都有,则将其中一个替换为“”

$str = ereg_replace(‘/n/r’,'<br />',$str)//将换行符转化为html格式,根据Textarea的wrap属性确定是否有此行,如chr(13)和“/n/r”两种格式都有,则将其中一个替换为“”

return $str

}

将Myslq中包含html的数据输出并显示在文本区中的过程与输入的过程相反。

function text_display($str)

{

//将Mysql中的html格式的数据进行格式处理(用于显示在文本区中显示)

$str = ereg_replace("<br />",chr(13), $str)

$str = str_replace(" ", " ", $str)

$str = ereg_replace("'","'",$str)

$str = ereg_replace('"','"',$str)

$str = ereg_replace("<","<",$str)

$str = ereg_replace('>','>',$str)

return $str

}

如果只是显示在表格中,则Mysql中的数据可以不经处理直接输出。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8302751.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存