『壹』 php中的mysql函數的參數格式問題
給你找了些資料:
介紹的挺詳細的:
mysql_fetch_array函數
--
從結果集中取得一行作為關聯數組(是以你所搜索的欄位作為的鍵名),或數字數組(也就是你所說的0,1,2,3...),或二者兼有
相關說明
array
mysql_fetch_array
(
resource
result
[,
int
result_type])
返回根據從結果集取得的行生成的數組,如果沒有更多行則返回
false。
mysql_fetch_array()
是
mysql_fetch_row()
的擴展版本。除了將數據以數字索引方式儲存在數組中之外,還可以將數據作為關聯索引儲存,用欄位名作為鍵名。
如果結果中的兩個或以上的列具有相同欄位名,最後一列將優先。要訪問同名的其它列,必須用該列的數字索引或給該列起個別名。對有別名的列,不能再用原來的列名訪問其內容(本例中的
'field')。
還是看幾個例子:
例子
1.
相同欄位名的查詢
select
table1.field
as
foo,
table2.field
as
bar
from
table1,
table2
有一點很重要必須指出,用
mysql_fetch_array()
並不明顯
比用
mysql_fetch_row()
慢,而且還提供了明顯更多的值。
mysql_fetch_array()
中可選的第二個參數
result_type
是一個常量,可以接受以下值:mysql_assoc,mysql_num
和
mysql_both。本特性是
php
3.0.7
起新加的。本參數的默認值是
mysql_both。
如果用了
mysql_both,將得到一個同時包含關聯和數字索引的數組。用
mysql_assoc
只得到關聯索引(如同
mysql_fetch_assoc()
那樣),用
mysql_num
只得到數字索引(如同
mysql_fetch_row()
那樣)。
注:
該函數返回的欄位名是大小寫敏感的。
例子
2.
mysql_fetch_array
使用
mysql_num
<?php
mysql_connect("localhost",
"mysql_user",
"mysql_password")
or
die("could
not
connect:
"
.
mysql_error());
mysql_select_db("mydb");
$result
=
mysql_query("select
id,
name
from
mytable");
while
($row
=
mysql_fetch_array($result,
mysql_num))
{
printf
("id:
%s
name:
%s",
$row[0],
$row[1]);
}
mysql_free_result($result);
?>
例子
3.
mysql_fetch_array
使用
mysql_assoc
<?php
mysql_connect("localhost",
"mysql_user",
"mysql_password")
or
die("could
not
connect:
"
.
mysql_error());
mysql_select_db("mydb");
$result
=
mysql_query("select
id,
name
from
mytable");
while
($row
=
mysql_fetch_array($result,
mysql_assoc))
{
printf
("id:
%s
name:
%s",
$row["id"],
$row["name"]);
}
mysql_free_result($result);
?>
例子
4.
mysql_fetch_array
使用
mysql_both
<?php
mysql_connect("localhost",
"mysql_user",
"mysql_password")
or
die("could
not
connect:
"
.
mysql_error());
mysql_select_db("mydb");
$result
=
mysql_query("select
id,
name
from
mytable");
while
($row
=
mysql_fetch_array($result,
mysql_both))
{
printf
("id:
%s
name:
%s",
$row[0],
$row["name"]);
}
mysql_free_result($result);
此例中的"while
($row
=
mysql_fetch_array($result,
mysql_both))"
也可以將括弧中的第二個參數去掉,既等價於:
"while
($row
=
mysql_fetch_array($result))"
?>
---------------------------------------------------------------------
仔細看看這些
相信對你有所幫助
『貳』 PHP操作MySQL,刪除一行資料庫,怎麼寫
刪除一條記錄簡單方法,應該說是最簡單的入門級的了.
mysql>delete
from
表名
where
id=1;
query
ok,
這樣就可以刪除了,
如果你和php教程
mysql配置只要利用php連接到資料庫教程再用php
mysql_query("delete
from
表名
where
id=1");就可以刪除了。
?php
$con
=
mysql_connect("localhost","peter","abc123");
if
(!$con)
{
die('could
not
connect:
'
.
mysql_error());
}
mysql_select_db("my_db",
$con);
mysql_query("delete
from
person
where
lastname='griffin'");
mysql_close($con);
?
下面看一下關於mysql
delete語法.
刪除資料庫中的數據
delete
from
語句用於從資料庫表中刪除記錄。
語法
delete
from
table_name
where
column_name
=
some_value
注釋:sql
對大小寫不敏感。delete
from
與
delete
from
等效。
為了讓
php
執行上面的語句,我們必須使用
mysql_query(
函數。該函數用於向
sql
連接發送查詢和命令
『叄』 php mysql如何查詢資料庫總的表名啊,
利用mysql_list_tables函數,然後循環輸出下結果,網上例子很多的。
『肆』 thinkphp 怎麼實現對mysql做到創建表,修改欄位,添加欄位,刪除欄位
<?php
class MysqlManage{
/*創建資料庫,並且主鍵是aid
* table 要查詢的表名
*/
function createTable($table){
$sql="CREATE TABLE IF NOT EXISTS `$table` (`aid` INT NOT NULL primary key)ENGINE = InnoDB;";
M()->execute($sql);
$this->checkTable($table);
}
/*
* 檢測表是否存在,也可以獲取表中所有欄位的信息
* table 要查詢的表名
* return 表裡所有欄位的信息
*/
function checkTable($table){
$sql="desc `$table`";
$info=M()->execute($sql);
return $info;
}
/*
* 檢測欄位是否存在,也可以獲取欄位信息(只能是一個欄位)
* table 表名
* field 欄位名
*/
function checkField($table,$field){
$sql='desc `$table` $field';
$info=M()->execute($sql);
return $info;
}
/*
* 添加欄位
* table 表名
* info 欄位信息數組 array
* return 欄位信息 array
*/
function addField($table,$info){
$sql="alter table `$table` add column";
$sql.=$this->filterFieldInfo();
M()->execute($sql);
$this->checkField($table,$info['name']);
}
/*
* 修改欄位
* 不能修改欄位名稱,只能修改
*/
function editField($table,$info){
$sql="alter table `$table` modify ";
$sql.=$this->filterFieldInfo($info);
M()->execute($sql);
$this->checkField($table,$info['name']);
}
/*
* 欄位信息數組處理,供添加更新欄位時候使用
* info[name] 欄位名稱
* info[type] 欄位類型
* info[length] 欄位長度
* info[isNull] 是否為空
* info['default'] 欄位默認值
* info['comment'] 欄位備注
*/
private function filterFieldInfo($info){
if(!is_array($info))
return
$newInfo=array();
$newInfo['name']=$info['name'];
$newInfo['type']=$info['type'];
switch($info['type']){
case 'varchar':
case 'char':
$newInfo['length']=empty($info['length'])?100:$info['length'];
$newInfo['isNull']=$info['isNull']==1?'NULL':'NOT NULL';
$newInfo['default']=empty($info['default'])?'':'DEFAULT '.$info['default'];
$newInfo['comment']=empty($info['comment'])?'':'COMMENT '.$info['comment'];
break;
case 'int':
$newInfo['length']=empty($info['length'])?7:$info['length'];
$newInfo['isNull']=$info['isNull']==1?'NULL':'NOT NULL';
$newInfo['default']=empty($info['default'])?'':'DEFAULT '.$info['default'];
$newInfo['comment']=empty($info['comment'])?'':'COMMENT '.$info['comment'];
break;
case 'text':
$newInfo['length']='';
$newInfo['isNull']=$info['isNull']==1?'NULL':'NOT NULL';
$newInfo['default']='';
$newInfo['comment']=empty($info['comment'])?'':'COMMENT '.$info['comment'];
break;
}
$sql=$newInfo['name']." ".$newInfo['type'];
$sql.=(!empty($newInfo['length']))?($newInfo['length']) .' ':' ';
$sql.=$newInfo['isNull'].' ';
$sql.=$newInfo['default'];
$sql.=$newInfo['comment'];
return $sql;
}
/*
* 刪除欄位
* 如果返回了欄位信息則說明刪除失敗,返回false,則為刪除成功
*/
function dropField($table,$field){
$sql="alter table `$table` drop column $field";
M()->execute($sql);
$this->checkField($table,$filed);
}
/*
* 獲取指定表中指定欄位的信息(多欄位)
*/
function getFieldInfo($table,$field){
$info=array();
if(is_string($field)){
$this->checkField($table,$field);
}else{
foreach($field as $v){
$info[$v]=$this->checkField($table,$v);
}
}
return $info;
}
}
『伍』 PHP寫入MYSQL不用創建表和資料庫、什麼把指定的信息寫入資料庫中
PHP 資料庫操作實際的關鍵點在於SQL語句的編寫,程序順序都類似,從問題描述里沒有看到注冊的頁面,大致的參考示例代碼如下:
<?php
mysql_connect("103.243.25.21","gcld","sixx"); //連接資料庫
mysql_select_db("userlist"); //選擇資料庫
$sql="_name='$_POST[user_name]'"; //SQL語句
$result=mysql_query($sql); //執行SQL語句
$num=mysql_num_rows($result); //統計執行結果影響的行數
if($num) //如果已經存在該用戶
{
echo"<script>alert('用戶名已存在');history.go(-1);</script>";
}
else //不存在當前注冊用戶名稱
{
$sql_insert="insertintouserlist(username,password,phone,address)values('$_POST[username]','$_POST[password]','','')";
$res_insert=mysql_query($sql_insert);
//$num_insert=mysql_num_rows($res_insert);
if($res_insert)
{
echo"<script>alert('注冊成功!');history.go(-1);</script>";
}
else
{
echo"<script>alert('系統繁忙,請稍候!');history.go(-1);</script>";
}
}
?>
其中的 $sql_insert 你先在phpmyadmin里先插入一條記錄,再將生成的SQL代碼復制粘貼過來,再修改一下就可以了。
『陸』 PHP 上傳MYSQL資料庫到伺服器具體步驟
換空間,數據的備份與恢復具體步驟操作!
一 備份數據
1,利用PW後台的數據備份功能進行備份.注意的是在備份數據的時候,為了數據的完整性,建議最好先關閉論壇,後台更新所有緩存和索引.
2,利用phpmyadmin,進行備份,具體如何備份,這里就不介紹.不清楚的可以查閱相關文檔,很簡單的.這里備份的文件是一個獨立sql文件.
以上方法一般適用與中小型論壇的備份,數據量比較小的時候還是很實用的,一般多為虛擬主機用戶使用.大型論壇的備份一般是 3,4兩種操作..主要是比較簡單操作,一些我個人認為比較復雜且不是很實用的方法就不介紹了不如通過Mysqlhot,使用binlog機制,增加mysql的事物日誌記錄等,這里就不介紹了.以下下操作一般有伺服器許可權的朋友才可以的.
3,直接復制或者打包資料庫文件,復制文件夾,大家應該都明白,我們來講打包,linux下用tar命令實現簡單有效,速度快.Win 下,直接用winrar或者winzip 搞定.注意需要暫停mysql服務.
4,Mysqlmp,是mysql自帶的腳本,假如資料庫名為abc,用戶名為:abcuser,密碼為123,,那應該使用
命令:
mysqlmp -uabcuser -p123 adc > pwabc_bak.sql
,pwabc_bak.sql 你可以任意的命名.
二 數據還原
1,針對第一種備份方法,也是最普遍使用的.在恢復論壇數據的時候,要關閉php.ini文件中的safe mode,恢復完數據後,再打開SAFE MODE就可以了。(自己伺服器得才需要此設置,普通虛擬空間用戶不用此設置)
>>用FTP軟體下載老論壇所有文件
>>將所有文件上傳至新空間
>>打開網頁 你的論壇地址/admin.php 用你的論壇創始人帳號登陸
>>數據恢復(隨便點一個文件,程序會自動將剩餘文件導入的)
以上方法可保留所有數據及插件和模板。
對於不需要模板的或者不需要原來的插件的
>>老論壇備份數據,用FTP拉到本地。(具體在data目錄下)
>>上傳程序包里的文件到新空間,全新安裝
>>用FTP軟體將備份的數據上傳到新空間的data目錄下
>>用論壇創始人帳號進入後台,數據恢復
如果後台資料庫忘記了,可以直接修改sql_config.php里的資料庫帳號和創始人帳號密碼!這里輸入的創始人密碼不能直接是明文.需要是MD5加密過後的.
這里就給大家一個簡單的 MD5密文 [] 明文 [123456]之後就可以通過/admin.php 剛才修改的帳戶密碼登陸論壇了..
2,對於phpmysql備份的數據,在2M以下可以直接導入資料庫中(至於怎麼導,看相關文檔,很簡單.)數據量很大的情況只能到伺服器上,伺服器上 mysql 命令導入(具體導入將在"4"中介紹)虛擬主機用戶,那麼就得聯系你的空間商,讓他們協助完成數據的恢復.
3,對於打包資料庫文件的,可以直接解壓 把資料庫文件 放到你資料庫名的目錄下. 在linux下注意資料庫文件的許可權.一般都是mysql:mysql. Win 下關系不是很大,除非你做了特殊的許可權設置.
4,對於mysqlmp 導出數據, 按照備份數據中的舉例用戶來演示,
則命令為:
mysql -uabcuser -p123 abc < abc_bak.sql
注意:
無任何錯誤一般來說就是正常完成。通常在使用 phpmyadmin 導入的sql腳本中有create database語句,會導致導入數據出錯,因為database 已經存在,把這段語句刪除之,再次檢查客戶的建表語句前是否有drop表的語句,如果沒有,而原資料庫存在同名表格,也會出錯,這時需要清空原資料庫.
『柒』 php 與mysql配置,讓頁面顯示結果
可能是路徑出了問題,你將mysql.dll等復制到你設定的目錄下!
『捌』 php mysql資料庫句子的意思
$sql
=
$mysqli->query("call
pro_login1('".$username."',
'".$password."')");
#這句假設是執行SQL,那麼這句話的意思是,調用query函數,執行
存儲過程pro_login1(存儲過程類似程序中的函數
$info
=
$sql->fetch_array(MYSQLI_ASSOC);
#如果$sql
變數實例的類和$mysqli實例化的類是同一個的話,這里是把剛剛query執行返回的參數轉換成數組。MYSQLI_ASSOC是mysqli_query的一個參數,具體你可以看看手冊
1
if(isset($_POST['username'])
&&
trim($_POST['username'])!='')
2
{
3
require_once
'Db.php';
4
$username
=
trim($_POST['username']);
5
$password
=
trim($_POST['password']);
6
$sql
=
$mysqli->query("call
pro_login1('".$username."',
'".$password."')");
7
$info
=
$sql->fetch_array(MYSQLI_ASSOC);
8
if($info
!=
null){
9
$_SESSION['loginUsername']
=
$username;
10
echo
'<script>window.location.href="success.php";</script>';
11
}else
{
12
echo
'<div
style="width:300px;
height:30px;
line-height:30px;
border:1px
solid
#E59B04;
background-color:#FCF2E0;
color:#FF0000;">用戶名或密碼輸入有誤</div>';
13
}
14
}
第一行先判斷傳如的用戶名是否存在並且密碼不能帶有空格
第三行引用的db.php,應該是連接資料庫的配置文件
第四、五行是把用戶名和密碼的中的空格去掉
第六行把用戶名和密碼傳入到存儲過程中執行
第七行返回一個數組
第八至十三行,判斷這個數組不是空,如果不是,就給一個session作為登錄標識,跳轉到另外一個頁面;否則就是提示用戶密碼錯誤。
------------------------------
不懂就追問把。
『玖』 PHP 如何將mysql資料庫內容部分欄位賦值到數組
<?php
//$conn=mysql_connect('localhost','root','root');
$conn=mysql_connect('127.0.0.1','root','root');
if(!$conn)
{
die(mysql_error());
}
mysql_query("setnames'utf8'");
$select_db=mysql_select_db('test');
if(!$select_db)
{
die(mysql_error());
}
$arr=array();
$res=mysql_query("select*fromAORDERBYIDASC");
while($row=mysql_fetch_array($res))
{
//$arr[]=array($row['code'],$row['note']);
$arr[]=array('code'=>$row['code'],'note'=>$row['note']);
}
//print_r($arr);
?>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>無標題文檔</title>
</head>
<body>
<tablewidth="200"border="1">
<tr>
<th>代碼</th>
<th>內容</th>
</tr>
<?phpfor($i=0;$i<count($arr);$i++){?>
<tr>
<td><?php//echo$arr[$i][0];
echo$arr[$i]['code'];?></td>
<td><?php//echo$arr[$i][1];
echo$arr[$i]['note'];?></td>
</tr>
<?php}?>
</table>
</body>
</html>
<?php
mysql_close($conn);
?>