=是賦值操作,php是弱語言,對變量類型控制不是很嚴(yán)格,$x=1的時候是給$x賦值了一個整數(shù)變量,但是后面的語句只是單純的給$x變量賦值了 你可以把$x當(dāng)成是一個盒子,至于盒子里想放三角形還是圓形就看你自己了
創(chuàng)新互聯(lián)公司技術(shù)團(tuán)隊10多年來致力于為客戶提供成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)、高端網(wǎng)站設(shè)計、營銷型網(wǎng)站建設(shè)、搜索引擎SEO優(yōu)化等服務(wù)。經(jīng)過多年發(fā)展,公司擁有經(jīng)驗豐富的技術(shù)團(tuán)隊,先后服務(wù)、推廣了千余家網(wǎng)站,包括各類中小企業(yè)、企事單位、高校等機(jī)構(gòu)單位。
CREATE TABLE可以指定引擎,例如:
CREATE TABLE IF NOT EXISTS `tab` (
`id` int(11) default NULL,
`pid` int(11) default NULL,
`idpath` char(16) default NULL,
`title` char(16) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `tab` (
`id` int(11) default NULL,
`pid` int(11) default NULL,
`idpath` char(16) default NULL,
`title` char(16) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
強制類型轉(zhuǎn)換一般分為隱式和顯式的,
元數(shù)據(jù) 顯式 隱式
$n = 100; (string)$n $n . ''
$n = '100'; (int)$n $n + 0;
$b = 1; (boolean)$b !$b
.......
你的錯誤主要在這里
$sql="UPDATE symbols SET country = '$_POST[country]',animal = '$_POST[animal]',cname='$_POST[cname_]' WHERE symbols.id=$_POST[id]";
當(dāng)存在中文字符時,中文字符用''包圍,而英文字符不用,否則會出錯的。
像這種symbols.id,句號.只是用于表示指向的,如果是你在單個表中可以把表名省去,就用id就行,只有在多表查詢中才需要指明某個字段屬于哪個表單。
還有你下面的 $result=$mysqli-query(sql);sql前面應(yīng)該加一個$。
下面是我改的代碼,經(jīng)過測試可以方便使用:
有個比較怪異的地方是,$_POST[cname_],它在POST表單中自動添加為cname_,這個是var_dump($_POST)測試的得到的結(jié)果,var_dump函數(shù)用于查看變量類型以及變量值的。還有后面把表單處改為
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();
}
?
你是要將查詢出的數(shù)據(jù)中為空的字段補充信息,這樣可能有好幾個空字段,所以理想的方法是先找出需要更新的字段,最后再一次性更新。
foreach($arr[0] as $k = $val){
$data['id'] = $arr[0]['id'];
if($val == null)
$data[$k] = '寫入這句';
$m-save($data);
}
本文名稱:php更改數(shù)據(jù)庫數(shù)據(jù)類型 php更新數(shù)據(jù)庫字段
文章位置:http://redsoil1982.com.cn/article8/doocpip.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、ChatGPT、建站公司、網(wǎng)站導(dǎo)航、品牌網(wǎng)站制作、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)