mysql_connect是PHP的數(shù)據(jù)庫(kù)連接方法,$host是數(shù)據(jù)庫(kù)服務(wù),如localhost。代碼的判斷語(yǔ)句是把連接返回到$this-link中,連接不成功的話(huà)$this-link值為false,if(!false)因此進(jìn)入判斷中,$this-halt應(yīng)該對(duì)應(yīng)一個(gè)方法,自己找找看。
讓客戶(hù)滿(mǎn)意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、網(wǎng)站空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、鞏留網(wǎng)站維護(hù)、網(wǎng)站推廣。
你的錯(cuò)誤主要在這里
$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,句號(hào).只是用于表示指向的,如果是你在單個(gè)表中可以把表名省去,就用id就行,只有在多表查詢(xún)中才需要指明某個(gè)字段屬于哪個(gè)表單。
還有你下面的 $result=$mysqli-query(sql);sql前面應(yīng)該加一個(gè)$。
下面是我改的代碼,經(jīng)過(guò)測(cè)試可以方便使用:
有個(gè)比較怪異的地方是,$_POST[cname_],它在POST表單中自動(dòng)添加為cname_,這個(gè)是var_dump($_POST)測(cè)試的得到的結(jié)果,var_dump函數(shù)用于查看變量類(lèi)型以及變量值的。還有后面把表單處改為
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();
}
?
php鏈接mysql必備條件:
已安裝mysql數(shù)據(jù)庫(kù);
檢查php環(huán)境是否已開(kāi)啟mysql擴(kuò)展(一般情況下是開(kāi)啟的);
檢查方法:a.使用phpinfo();函數(shù),看有沒(méi)有mysql項(xiàng);b.打開(kāi)php.ini文件,檢查php_mysql.dll前分號(hào)是否已取掉。
php鏈接代碼如下:
?php
//設(shè)置編碼格式
header("Content-type:text/html;charset=utf-8");
//定義數(shù)據(jù)庫(kù)主機(jī)地址
$host="localhost";
//定義mysql數(shù)據(jù)庫(kù)登錄用戶(hù)名
$user="root";
//定義mysql數(shù)據(jù)庫(kù)登錄密碼
$pwd="";
//鏈接數(shù)據(jù)庫(kù)
$conn = mysql_connect($host,$user,$pwd);
//對(duì)連接進(jìn)行判斷
if(!$conn){
die("數(shù)據(jù)庫(kù)連接失??!".mysql_errno());
}else{
echo "數(shù)據(jù)庫(kù)連接成功!";
}
?
?php
$host="localhost";
$db_user="root"; //數(shù)據(jù)庫(kù)用戶(hù)名
$db_pass="root"; //數(shù)據(jù)庫(kù)密碼
$db_name="dzjgj";//數(shù)據(jù)庫(kù)名
$timezone="Asia/Shanghai";
$link=mysql_connect($host,$db_user,$db_pass);
mysql_select_db($db_name,$link);
mysql_query("SET names UTF8");
header("Content-Type: text/html; charset=utf-8");
date_default_timezone_set($timezone); //北京時(shí)間
?
你好,如果數(shù)據(jù)庫(kù)是mysql的話(huà),可以這樣寫(xiě)
?php
mysql_connect('localhost','user','password');
mysql_selecr_db('sheet');
$info?=?array();
$sql?=?mysql_query("select?b?from?`a`?where?a=2");
while($row?=?mysql_fetch_assoc($sql)){
$info[]?=?$row;
}
?
希望你的問(wèn)題能解決,望采納