溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么在PHP中利用Mysql數(shù)據(jù)庫(kù)實(shí)現(xiàn)一個(gè)留言板功能

發(fā)布時(shí)間:2021-02-11 12:24:22 來(lái)源:億速云 閱讀:416 作者:Leah 欄目:開(kāi)發(fā)技術(shù)

今天就跟大家聊聊有關(guān)怎么在PHP中利用Mysql數(shù)據(jù)庫(kù)實(shí)現(xiàn)一個(gè)留言板功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

1.準(zhǔn)備建立數(shù)據(jù)庫(kù)表的結(jié)構(gòu),下面是我的表結(jié)構(gòu)在phpMyAdmin下的截圖:

怎么在PHP中利用Mysql數(shù)據(jù)庫(kù)實(shí)現(xiàn)一個(gè)留言板功能

建表語(yǔ)法

SQL CREATE TABLE 語(yǔ)法
CREATE TABLE 表名稱
(
列名稱1 數(shù)據(jù)類型,
列名稱2 數(shù)據(jù)類型,
列名稱3 數(shù)據(jù)類型,
....
)

2.php連接mysql數(shù)據(jù)庫(kù),然后選擇其中一個(gè)數(shù)據(jù)庫(kù),我這里選的是bbs數(shù)據(jù)庫(kù)(ps 之前創(chuàng)建的) 下面介紹幾個(gè)要用到的php庫(kù)函數(shù),

復(fù)制代碼 代碼如下:


①mysql_connect("localhost", "root", "")

php連接mysql,參數(shù)分別是mysql地址(localhost代表本機(jī)),用戶名,密碼

返回值:如果連接失敗返回false,成功返回一個(gè)連接標(biāo)識(shí)符

復(fù)制代碼 代碼如下:


②mysql_select_db($dbName, $conn);

mysql里可以有很多db,所以你需要選擇一個(gè)其中一個(gè)db進(jìn)行接下來(lái)的操作。

參數(shù):第一個(gè)是數(shù)據(jù)庫(kù)名稱,第二個(gè)是鏈接標(biāo)識(shí)符,可以把①中的返回值放這里,代表的是我將使用①中的mysql。

返回值:false 連接失敗,true連接成功。

復(fù)制代碼 代碼如下:


③mysql_query(query,connection)

參數(shù):query代表你要mysql執(zhí)行的語(yǔ)句

connection 可選,SQL連接標(biāo)識(shí)符同上面所講

返回值:mysql_query() 僅對(duì) SELECT,SHOW,EXPLAIN或DESCRIBE語(yǔ)句返回一個(gè)資源標(biāo)識(shí)符,如果查詢執(zhí)行不正確則返回 FALSE。

對(duì)于其它類型的 SQL 語(yǔ)句,mysql_query() 在執(zhí)行成功時(shí)返回 TRUE,出錯(cuò)時(shí)返回 FALSE。

個(gè)人對(duì)這個(gè)返回值的總結(jié):此函數(shù)執(zhí)行失敗就返回false;執(zhí)行成功要看是什么語(yǔ)句,如果是SELECT,SHOW,EXPLAIN 或 DESCRIBE 語(yǔ)句,那么就會(huì)返回資源標(biāo)識(shí)符,其他的語(yǔ)句就返回true ;

說(shuō)了這么多, 留言板的脈絡(luò)已經(jīng)出來(lái)了

下面開(kāi)始上代碼

conn.php

<span ><?php 
include("head.php"); 
$dbName = "bbs"; 
$conn = @ mysql_connect("localhost", "root", "") or die("數(shù)據(jù)庫(kù)鏈接錯(cuò)誤"); 
$flag = mysql_select_db($dbName, $conn); 
mysql_query("set names 'GBK'"); //使用GBK中文編碼; 
function toHtmlcode($content) 
{ 
return $content = str_replace("\n","<br>",str_replace(" ", "&nbsp;", $content)); 
} 
?></span>

上面有一個(gè)toHtmlcode自定義函數(shù)功能是把字符串中回車(\n)替換成html中的換行<br>,把空格替換成html中的空格(&nbsp;)
其中有一個(gè)函數(shù)介紹如下

語(yǔ)法

復(fù)制代碼 代碼如下:


str_replace(find,replace,string,count)

參數(shù)描述
find必需。規(guī)定要查找的值。
replace必需。規(guī)定替換 find 中的值的值。
string必需。規(guī)定被搜索的字符串。
count可選。一個(gè)變量,對(duì)替換數(shù)進(jìn)行計(jì)數(shù)。

addmsg.php

<span ><?php 
// 引用之前寫(xiě)好的連接數(shù)據(jù)庫(kù)文件 
include("conn.php"); 
if(@$_POST['submit']){ 
$sql = "insert into message (id,user,title,content,lastdate)" . 
"values ( '','$_POST[userName]','$_POST[title]','$_POST[content]',now())"; 
mysql_query($sql); 
echo "添加成功"; 
} 
?> 
<SCRIPT language=javascript> 
function CheckPost() 
{ 
if (myform.userName.value=="") 
{ 
alert("請(qǐng)?zhí)顚?xiě)用戶名"); 
myform.user.focus(); 
return false; 
} 
if (myform.title.value.length<5) 
{ 
alert("標(biāo)題不能少于5個(gè)字符"); 
myform.title.focus(); 
return false; 
} 
if (myform.content.value=="") 
{ 
alert("必須要填寫(xiě)留言內(nèi)容"); 
myform.content.focus(); 
return false; 
} 
} 
</SCRIPT> 
<form action="addmsg.php" method="post" name = "myform" onsubmit="return CheckPost();"> 
用名:<input type="text" size="10" name="userName" /><br/> 
標(biāo)題:<input type="text" name="title" /><br/> 
內(nèi)容:<textarea name="content" cols="60" rows="9" ></textarea><br/> 
<input type="submit" name="submit" value="提交留言" /> 
</form> 
</span>

include 是引入conn.php,類似于c語(yǔ)言中include

$_POST 變量是一個(gè)數(shù)組,此變量用于收集來(lái)自 method="post" 的表單中的值,post發(fā)出的鍵值對(duì)存于此$_POST數(shù)組中$_POST['submit'] 取鍵submit的值,如果觸發(fā)submit,也就是CheckPost返回為true時(shí),會(huì)post值,顯然$_POST['submit']不為空,非空即為真,那么就執(zhí)行if里面的插入語(yǔ)句。使留言內(nèi)容保存在mysql數(shù)據(jù)庫(kù)中。

listmsg.php

<span ><?php 
include("conn.php"); 
?> 
<table width=500 border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#add3ef"> 
<?php 
$sql = "SELECT * FROM message order by lastdate desc"; 
$query = mysql_query($sql); 
while($row = mysql_fetch_array($query)){ 
?> 
<tr bgcolor="#eff3ff"> 
<td><b><big> 
標(biāo)題:<?= $row['title']?></big><b/> <b><sub> 
用戶:<?= $row['user']?></sub></b></td> 
</tr> 
<tr bgColor="#ffffff"> 
<td>內(nèi)容:<?= toHtmlcode($row['content'])?></td> 
</tr> 
<?php 
} 
?> 
</table> 
</span>

看完上述內(nèi)容,你們對(duì)怎么在PHP中利用Mysql數(shù)據(jù)庫(kù)實(shí)現(xiàn)一個(gè)留言板功能有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI