你核攔先把數據庫的數據讀取出來,橘氏羨然后再用面向對象的思想編一個關于修改php數據的類,同時在類圓拍中用sql語言把修改的結果寫入到數據庫!

網站建設哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網頁設計、網站建設、微信開發(fā)、微信平臺小程序開發(fā)、集團企業(yè)網站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了橋東免費建站歡迎大家使用!
你的錯誤主要在這里
$sql="UPDATE symbols SET country = '$_POST[country]',animal = '$_POST[animal]',cname='$_POST[cname_]' WHERE symbols.id=$_POST[id]";
當存在中文字符時,中文字符唯培虧用''包圍,而英文字符不用,否則會出錯的。
像這種symbols.id,句號.只是用于表示指向的,如果是你在單個表中可以把表名省去,就用id就行,只有在多表查詢中才需要指明某個字段屬于哪個表單。
還有你下面的 $result=$mysqli-query(sql);sql前面應該加一個$。
下面是我改的代碼,經過測試可以方便使用:
有個比較怪異的地方是,$_POST[cname_],它在POST表單中自動添加為cname_,這個是var_dump($_POST)測試的得到的結果,var_dump函數用于查看變量類型以及變量值的。還有后面把表單處改為
echo "form method='POST' action='{$_SERVER['PHP_SELF']}'";
actio指向自身,而且將其放在輸出循環(huán)中,字符集也改為了UTF8,header頭先輸出聲明,否則在IE以為的瀏覽器中會出現(xiàn)亂碼
?php
header("Content-type: text/html;charset=UTF-8");
$host = "localhost";
$user = "root";
$pass = "";
$db = "phpdev";
$mysqli = new mysqli($host, $user, $pass, $db);
if (mysqli_connect_errno()) {
die("Unable to connect!");
}
$mysqli-query("SET NAMES 'utf8'");
if (isset($_POST['bthModify'])) {
$sql="UPDATE {$db}.symbols SET country = '$_POST[country]',animal = '$_POST[animal]',cname='$_POST[cname_]' WHERE symbols.id=$_POST[id]";
$result=$mysqli-query($sql);
// var_dump($sql);
if ($result) {
echo "修改成功";
}else {
echo "修改失敗";
}
}
$query = "SELECT * FROM symbols";
if ($result = $mysqli-query($query)) {
if ($result-num_rows 指神 0) {
echo "table cellpadding=10 border=1";
while($row = $result-fetch_array()) {
echo "form method='POST' action='{$_SERVER['PHP_SELF']}'";
echo "tr";
echo "tdinput name='id' type='text' id='id' value='$row[0]' //td";
echo "tdinput name='country' type='text' id='country' value='$row[1]' //td";
echo "tdinput name='animal' type='text' id='animal' value='$row[2]' //td";
echo "tdinput name='cname ' type='text' id='cname' value='$row[3]' //td";
echo "tdinput name='bthModify' type='submit' id='bthModify' value='修改'中首 //td";
echo "/tr";
echo "/form";
}
echo "/table";
}
$result-close();
}
?
一、PHP操作MySql數據庫
新增數據
?php
$query
=
"INSERT
INTO
grade
(name,email,point,regdate)
VALUE
('
李三','yc60點抗 @gmail點抗 ',,NOW())"
;
@mysql_query($query)
or
die(
'添加數據出錯:'
.mysql_error());
?
修改數據
?php
$query
=
"UPDATE
grade
SET
name='小可愛'
WHERE
id=6"
;
@mysql_query($query)
or
die(
'修改出錯:'
.mysql_error());
?
刪除數據
?php
$query
=
"DELETE
FROM
grade
WHERE
id=6";
@mysql_query($query)
or
die(
'刪除錯誤:'
.mysql_error());
?
顯示數據
?php
$query
=
"SELECT
id,name,email,point
FROM
grade"鏈鉛;
$result
=
@mysql_query($query)
or
die(
'查詢語句出錯:'
.mysql_error());
while
(!!
$row
=
mysql_fetch_array($result))
{
echo
$row[
'id'
].
'----'
.$row['name'
].'----'
.$row
['email'
].
'----'
.$row['point'
];
echo
'br
/
';
}
?
二、其他常用函數
mysql_f
etch_row()
:從結果集中取得一行作為枚清喚激舉數組
mysql_f
etch_assoc()
:
從結果集中取得一行作為關聯(lián)數組
mysql_f
etch_array()
:
從結果集中取得一行作為關聯(lián)數組答襪,或數字數組,或二者兼有
mysql_f
etch_lengths
()
:
取得結果集中每個輸出的長度
mysql_f
ield_name():
取得結果中指定字段的字段名
mysql_num_rows():
取得結果集中行的數目
mysql_num_f
ields():取得結果集中字段的數目
mysql_get_client_inf
o()
:
取得
MySQL
客戶端信息
mysql_get_host_info():
取得
MySQL
主機信息
mysql_get_proto_info():
取得
MySQL
協(xié)議信息
mysql_get_server_inf
o()
:
取得
MySQL
服務器信息
當前文章:算命php數據庫修改 phpstudy修改數據庫密碼
網站鏈接:http://chinadenli.net/article0/dsphiio.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供微信小程序、企業(yè)建站、網站排名、電子商務、App設計、網站策劃
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)