取行的數據庫行的主鍵字段的值,然后對數據執行更新操作:
成都創新互聯主營蘭西網站建設的網絡公司,主營網站建設方案,App定制開發,蘭西h5小程序制作搭建,蘭西網站營銷推廣歡迎蘭西等地區企業咨詢
update tabblename set xxx1 = 'aaaa',xxx2='bbbb' where id = 主鍵的值.
//經過測試,一個很小的問題,只是你的sql語句寫錯了。
include_once?'cnn.php';
mysql_query("SET?NAMES?'gbk'");//解決漢字?
$result?=?mysql_query?(?"select?*?from?univ_basic_info"?);
while?(?$row?=?mysql_fetch_array?(?$result?)?)?{
$str1?=?strip_tags?($row['univ_kind']);
var_dump($str1);
$i=?$row['univ_id'];
mysql_query("UPDATE?univ_basic_info?SET?univ_kind='$str1'?WHERE?'univ_id'=$i");?
//注意此sql語句,univ_kind??不應該有引號,而變量$str1則應該帶引號
//你的錯誤就在于此
}
PHP操作MongoDB數據庫的簡單示例。
Mongodb的常用操作
參看手冊,php官方的
也可以參看mongodb官方的教程。
一,?Mognodb數據庫連接
1)、默認格式
復制代碼?代碼示例:
$m?=?new?Mongo();
//這里采用默認連接本機的27017端口,當然也可以連接遠程主機如??192.168.0.4:27017,如果端口是27017,端口可以省略。
2)、標準連接
$m?=?new?Mongo(“mongodb://${username}:${password}@localhost”);
實例:
復制代碼?代碼示例:
$m?=?new?Mongo(“mongodb://127.0.0.1:27017/admin:admin”);
數據庫的用戶名和密碼都是admin
數據庫操作:
1)、插入數據:
復制代碼?代碼示例:
?php
//這里采用默認連接本機的27017端口,當然你也可以連接遠程主機如192.168.0.4:27017
//如果端口是27017,端口可以省略
$m?=?new?Mongo("mongodb://127.0.0.1:27017/admin:admin");
//選擇comedy數據庫,如果以前沒該數據庫會自動創建,也可以用$m-selectDB("comedy");
$db?=?$m-comedy;
//選擇comedy里面的collection集合,相當于RDBMS里面的表,也可以使用
$collection?=?$db-collection;
$db-selectCollection("collection");
/*********添加一個元素**************/
$obj?=?array("title"?=?"php1",?"author"?=?"Bill?Watterson");
//將$obj?添加到$collection?集合中
$collection-insert($obj);
/*********添加另一個元素**************/
$obj?=?array("title"?=?"huaibei",?"online"?=?true);
$collection-insert($obj);
//$query?=?array("title"?=?"huaibei");
$query?=?array(?"_id"?=?$obj['_id']?);
$cursor?=?$collection-find($query);
//遍歷所有集合中的文檔
foreach?($cursor?as?$obj)?{
echo?$obj["title"]?.?"\n";
echo?$obj["_id"]?.?"\n";
}
//斷開MongoDB連接
$m-close();
2)、帶條件的查詢
查詢?title為huaibei的字段
1?$query?=?array(?”title”?=?”huaibei”?);
2?$cursor?=?$collection-find(?$query?);??????//?在$collectio集合中查找滿足$query的文檔
常用的SQL轉化為mongodb的條件
復制代碼?代碼示例:
mysql:?id?=?123
mongo:?array(‘id’=123)
mysql:?name?link?’%bar%’
mongo:?array(‘name’?=?new?MongoRegex(‘/.*bar.*/i’))
mysql:?where?id??10
mongo:?array(‘id’?=?array(‘$gt’?=?10))
mysql:?where?id?=?10
mongo:?array(‘id’?=?array(‘$gte’?=?10))
mysql:?where?id??10
mongo:?array(‘id’?=?array(‘$lt’?=?10))
mysql:?where?id?=?10
mongo:?array(‘id’?=?array(‘$lte’?=?10))
mysql:?where?id??1?and?id??10
mongo:?array(‘id’?=?array(‘$gt’?=?1,’$lt’?=?10))
mysql:?where?id??10
mongo:?array(‘id’?=?array(‘$ne’?=?10))
mysql:?where?id?in(123)
mongo:?array(‘id’?=?array(‘$in’?=?array(1,2,3)))
mysql:?where?id?not?in(123)
mongo:?array(‘id’?=?array(‘$nin’?=?array(1,2,3)))
mysql:?where?id?=?2?or?id?=?9
mongo:?array(‘id’?=?array(‘$or’?=?array(array(‘id’=2),array(‘id’=9))))
mysql:?order?by?name?asc
mongo:?array(‘sort’=array(‘name’=1))
mysql:?order?by?name?desc
mongo:?array(‘sort’=array(‘name’=-1))
mysql:?limit?0,2
mongo:?array(‘limit’=array(‘offset’=0,’rows’=2))
mysql:?select?name,email
mongo:?array(‘name’,'email’)
mysql:?select?count(name)
mongo:?array(‘COUNT’)?//注意:COUNT為大寫
更詳細的轉換參考
注意事項:
查詢時,每個Object插入時都會自動生成一個獨特的_id,它相當于RDBMS中的主鍵,用于查詢時非常方便?(_id每一都不同,很像自動增加的id)
例如:
復制代碼?代碼示例:
?php
$param?=?array("name"?=?"joe");
$collection-insert($param);
$joe?=?$collection-findOne(array("_id"?=?$param['_id']));
print_R($joe);
$m-close();
返回結果:Array?(?[_id]?=?MongoId?Object?(?[$id]?=?4fd30e21870da83416000002?)?[name]?=?joe?)
更改字段值:
復制代碼?代碼示例:
?php
$sign?=?array("title"?=?'php1');
$param?=?array("title"?=?'php1','author'='test');
$joe?=?$collection-update($sign,?$param);
刪除一個數據庫:
復制代碼?代碼示例:
$m?-?dropDB(“comedy”);
列出所有可用數據庫:
復制代碼?代碼示例:
$m-listDBs();???//無返回值
附,mongodb常用的數據庫方法
MongoDB中有用的函數:
創建一個MongoDB對象
復制代碼?代碼示例:
?php
$mo?=?new?Mongo();
$db?=?new?MongoDB($mo,’dbname’);//通過創建方式獲得一個MongoDB對象
刪除當前DB
復制代碼?代碼示例:
?php
$db?=?$mo-dbname;
$db-drop();
獲得當前數據庫名
復制代碼?代碼示例:
?php
$db?=?$mo-dbname;
$db-_tostring();
選擇想要的collection:
復制代碼?代碼示例:
A:
$mo?=?new?Mongo();
$coll?=?$mo-dbname-collname;//獲得一個collection對象
B:
$db?=?$mo-selectDB(’dbname’);
$coll?=?$db-collname;
C:
$db?=?$mo-dbname;
$coll?=?$db-collname;
D:
$db?=?$mo-dbname;
$coll?=?$db-selectCollectoin(’collname’);//獲得一個collection對象
插入數據(MongoCollection對象):
MongoCollection::insert(array?$a,array?$options)
array?$a?要插入的數組
array?$options?選項
safe?是否返回操作結果信息
fsync?是否直接插入到物理硬盤
例子:
復制代碼?代碼示例:
$coll?=?$mo-db-foo;
$a?=?array(’a’=’b’);
$options?=?array(’safe’=true);
$rs??=$coll-insert($a,$options);
$rs為一個array型的數組,包含操作信息
刪除數據庫中的記錄(MongoCollection對象):
MongoCollection::remove(array?$criteria,array?$options)
array?$criteria??條件
array?$options?選項
safe?是否返回操作結果
fsync?是否是直接影響到物理硬盤
justOne?是否只影響一條記錄
例子:
復制代碼?代碼示例:
$coll?=?$mo-db-coll;
$c?=?array(’a’=1,’s’=array(’$lt’=100));
$options?=?array(’safe’=true);
$rs?=?$coll-remove($c,$options);
$rs為一個array型的數組,包含操作信息
更新數據庫中的記錄(MongoCollection對象):
MongoCollection::update(array?$criceria,array?$newobj,array?$options)
array?$criteria??條件
array?$newobj?要更新的內容
array?$options?選項
safe?是否返回操作結果
fsync?是否是直接影響到物理硬盤
upsert?是否沒有匹配數據就添加一條新的
multiple?是否影響所有符合條件的記錄,默認只影響一條
例子:
復制代碼?代碼示例:
$coll?=?$mo-db-coll;
$c?=?array(’a’=1,’s’=array(’$lt’=100));
$newobj?=?array(’e’=’f’,’x’=’y’);
$options?=?array(’safe’=true,’multiple’=true);
$rs?=?$coll-remove($c,$newobj,$options);
$rs為一個array型的數組,包含操作信息
查詢collection獲得單條記錄(MongoCollection類):
array?MongoCollection::findOne(array?$query,array?$fields)
array?$query?條件
array?$fields?要獲得的字段
例子:
復制代碼?代碼示例:
$coll?=?$mo-db-coll;
$query?=?array(’s’=array(’$lt’=100));
$fields?=?array(’a’=true,’b’=true);
$rs?=?$coll-findOne($query,$fields);
如果有結果就返回一個array,如果沒有結果就返回NULL
查詢collection獲得多條記錄(MongoCollection類):
MongoCursor?MongoCollection::find(array?$query,array?$fields)
array?$query?條件
array?$fields?要獲得的字段
例子:
復制代碼?代碼示例:
$coll?=?$mo-db-coll;
$query?=?array(’s’=array(’$lt’=100));
$fields?=?array(’a’=true,’b’=true);
$cursor?=?$coll-find($query,$fields);
//排序
$cursor-sort(array(‘字段’=-1));(-1倒序,1正序)
//跳過部分記錄
$cursor-skip(100);跳過100行
//只顯示部分記錄
$cursor-limit(100);只顯示100行
返回一個游標記錄對象MongoCursor。
針對游標對象MongoCursor的操作(MongoCursor類):
循環或結果記錄:
復制代碼?代碼示例:
$cursor?=?$coll-find($query,$fields);
while($cursor-hasNext()){
$r?=?$cursor-getNext();
var_dump($r);
}
或者
$cursor?=?$coll-find($query,$fields);
foreache($cursor?as?$k=$v){
var_dump($v);
}
或者
$cursor?=?$coll-find($query,$fields);
$array=?iterator_to_array($cursor);
1、首先檢查數據庫連接是否正常;
2、檢查更新語句是否正確,如果不正確,請檢查語句中的字段名、表名等是否正確;
3、檢查更新數據是否合法,如果不合法,可能會引起數據庫更新失敗;
4、如果以上檢查都沒有問題,可以嘗試將更新語句拆分成多條,然后每條語句分別執行,以查看哪一條語句出現了問題。
本文標題:php更新單條數據 php在線更新
標題路徑:http://vcdvsql.cn/article2/doiegic.html
成都網站建設公司_創新互聯,為您提供響應式網站、網站制作、網站設計、小程序開發、用戶體驗、企業網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯