你的錯(cuò)誤主要在這里
你所需要的網(wǎng)站建設(shè)服務(wù),我們均能行業(yè)靠前的水平為你提供.標(biāo)準(zhǔn)是產(chǎn)品質(zhì)量的保證,主要從事做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、企業(yè)網(wǎng)站建設(shè)、手機(jī)網(wǎng)站制作設(shè)計(jì)、網(wǎng)頁設(shè)計(jì)、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)頁制作、做網(wǎng)站、建網(wǎng)站。創(chuàng)新互聯(lián)公司擁有實(shí)力堅(jiān)強(qiáng)的技術(shù)研發(fā)團(tuán)隊(duì)及素養(yǎng)的視覺設(shè)計(jì)專才。
$sql="UPDATE symbols SET country = '$_POST[country]',animal = '$_POST[animal]',cname='$_POST[cname_]' WHERE symbols.id=$_POST[id]";
當(dāng)存在中文字符時(shí),中文字符用''包圍,而英文字符不用,否則會(huì)出錯(cuò)的。
像這種symbols.id,句號.只是用于表示指向的,如果是你在單個(gè)表中可以把表名省去,就用id就行,只有在多表查詢中才需要指明某個(gè)字段屬于哪個(gè)表單。
還有你下面的 $result=$mysqli-query(sql);sql前面應(yīng)該加一個(gè)$。
下面是我改的代碼,經(jīng)過測試可以方便使用:
有個(gè)比較怪異的地方是,$_POST[cname_],它在POST表單中自動(dòng)添加為cname_,這個(gè)是var_dump($_POST)測試的得到的結(jié)果,var_dump函數(shù)用于查看變量類型以及變量值的。還有后面把表單處改為
echo "form method='POST' action='{$_SERVER['PHP_SELF']}'";
actio指向自身,而且將其放在輸出循環(huán)中,字符集也改為了UTF8,header頭先輸出聲明,否則在IE以為的瀏覽器中會(huì)出現(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();
}
?
通過url把id傳過去,比如鏈接地址是article.php,在后面加上?id=5
然后在修改頁通過$_GET['id'],獲取過來,在通過它查詢數(shù)據(jù)庫
希望采納,不明白繼續(xù)追問
1、數(shù)據(jù)庫本身都帶有replace函數(shù)可以直接替換,不同的數(shù)據(jù)庫的replace替換語法不同,可以根據(jù)你的實(shí)際情況確定使用。這樣可以直接使用SQL語句替換就可以了,在PHP中執(zhí)行這個(gè)SQL。
2、直接在PHP使用查詢語句,查詢出需要替換的數(shù)據(jù)表數(shù)據(jù),之后通過PHP的str_replace方法進(jìn)行替換,將替換后的結(jié)果在創(chuàng)建一個(gè)Update的SQL語句,在PHP中再次執(zhí)行Update語句,也可以實(shí)現(xiàn)更新。
根據(jù)自己的實(shí)際情況確定,選哪種都可以。
希望對你有幫助。
網(wǎng)站欄目:php如何作用數(shù)據(jù)庫修改 php 數(shù)據(jù)庫顯示在頁面并能修改
本文來源:http://jinyejixie.com/article28/dochdcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、外貿(mào)建站、微信公眾號、小程序開發(fā)、網(wǎng)站營銷、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)