mysql_query
送出一个 query 字串。语法: int mysql_query(string query, int [link_identifier]);传回值: 整数函式种类: 资料库功能内容说明 本函式送出 query 字串供 MySQL 做相关的处理或者执行。若没有指定 link_identifier 参数,则程式会自动寻找最近开启的 ID。当 query 查询字串是 UPDATE、INSERT 及 DELETE 时,传回的可能是 true 或者 false;查询的字串是 SELECT 则传回新的 ID 值。[email protected] (09-Feb-1999) 指出,当传回 false 时,并不是执行成功但无传回值,而是查询的字串有错误。
---------------
从PHP手册中抄来的.由上可知,通过mysql_query()执行后的返回值就可以知道成功与否.....
送出一个 query 字串。语法: int mysql_query(string query, int [link_identifier]);传回值: 整数函式种类: 资料库功能内容说明 本函式送出 query 字串供 MySQL 做相关的处理或者执行。若没有指定 link_identifier 参数,则程式会自动寻找最近开启的 ID。当 query 查询字串是 UPDATE、INSERT 及 DELETE 时,传回的可能是 true 或者 false;查询的字串是 SELECT 则传回新的 ID 值。[email protected] (09-Feb-1999) 指出,当传回 false 时,并不是执行成功但无传回值,而是查询的字串有错误。
---------------
从PHP手册中抄来的.由上可知,通过mysql_query()执行后的返回值就可以知道成功与否.....
但我也不知道如何能知道:(
用mysql_affect_rows试试吧。
sybase_query() 的返回值就能判斷是否正確執行 . 因為 sql 語句是否有錯是由數據庫引擎判斷的,而不是由 php 判斷。不同的數據庫語法都有些區別 .
例如, 一個 sql update 語句,執行後,可能沒有滿足 where 條件的紀錄,所以沒有一個紀錄被 update ,但 sql 語句確實成功的執行了 .
这句返回你所需的错误
一、php送出sql语句->数据库接收sql->数据库判断sql语句的正确性->将判断结果返回php->执行sql语句。
二、php送出sql语句->数据库接收sql->数据库判断sql语句的正确性->执行sql语句->返回语句执行成功与否。我对数据库内部的情况并不了解,只是从语义上理解可能是第一种情况,但我自己还想不出什么方法证明:(
不知对数据库内部执行过程了解的朋友设计一个程式,来证明到底是哪一种情况。
数据库就会报错。
用它比较好update时会得到正确结果,比如不满足where条件时,但update确实成功了。
或者干脆读一下修改或者添加的东西不就知道了
php送出sql语句->数据库接收sql->数据库判断sql语句的正确性
if 錯誤 返回錯誤代碼 ( 和錯誤信息 對於Mysql 用 mysql_error() 取得)
else {
語句优化,(根據所建立的索引)
執行SQL 語句
返回執行結果 .
}
而不是先返回結果,再執行SQL語句.( 需要證明嗎? )
vitty(天狼) 的
一、php送出sql语句->数据库接收sql->数据库判断sql语句的正确性->将判断结果返回php->执行sql语句。
在 邏輯上就不正確。分析如下 :
php送出sql语句->数据库接收sql->数据库判断sql语句的正确性->将判断结果返回php
這時,如果正確也返回,告訴php,sql 語句非常正確.
執行完sql語句還需要返回一次結果集。
有哪個php 函數可以返回兩此的呢?
我同意你的观点了,特别是上面那段“代码”。
在我发前一个贴子时,就觉得好象有点问题,但看不出是哪的问题,你的回答说出了问题所在。
谢谢:)
else echo mysql_error();