$ADODB_FORCE_TYPE adodb设置的强制赋值类型
adodb在执行 update 或 insert 类型的sql语句时,会考虑php中的空值在数据库中是否被接受, 如sql server中的空值必须用NULL表示, 所以设定了几种强制类型.0.忽略所有空值,对PHP中的空值不做处理
1.只对null进行处理,将PHP中的null值 或 null字串 处理成数据库识别的无值形式.(如sql server 的 NULL)
2.只对null进行处理,将PHP中的null值 或 null字串 处理成数据库识别的空值形式.(字串形式处理成'',数字形式处理成0)
3.对null和''等空值进行处理,转化成数据库识别的空值形式.define('ADODB_FORCE_IGNORE',0);
define('ADODB_FORCE_NULL',1);
define('ADODB_FORCE_EMPTY',2);
define('ADODB_FORCE_VALUE',3); 是已经设定好的, 使用时将此值赋给$ADODB_FORCE_TYPE
adodb在执行 update 或 insert 类型的sql语句时,会考虑php中的空值在数据库中是否被接受, 如sql server中的空值必须用NULL表示, 所以设定了几种强制类型.0.忽略所有空值,对PHP中的空值不做处理
1.只对null进行处理,将PHP中的null值 或 null字串 处理成数据库识别的无值形式.(如sql server 的 NULL)
2.只对null进行处理,将PHP中的null值 或 null字串 处理成数据库识别的空值形式.(字串形式处理成'',数字形式处理成0)
3.对null和''等空值进行处理,转化成数据库识别的空值形式.define('ADODB_FORCE_IGNORE',0);
define('ADODB_FORCE_NULL',1);
define('ADODB_FORCE_EMPTY',2);
define('ADODB_FORCE_VALUE',3); 是已经设定好的, 使用时将此值赋给$ADODB_FORCE_TYPE
我设置:
define('ADODB_FORCE_NULL',1);
$ADODB_FORCE_TYPE = ADODB_FORCE_NULL;
error:
1065: Query was empty
function updateNews($record,$id){
global $adodbConn;
$sqlForUpdate="select * from news_text where id=$id";
$rs=$adodbConn->Execute($sqlForUpdate);
$updateSQL = $adodbConn->GetUpdateSQL($rs,$record);
$adodbConn->Execute($updateSQL);
}}
control中
$record[nt_title]=$_POST[title];
$record[nt_content]=$_POST[content];
$record[nt_author]=$_POST[author];
$record[nt_intime]=(empty($_POST['intime']))?$nowDate:$_POST['intime'];
$news->updateNews($record,$id);
config中
define('ADODB_FORCE_NULL',1);
$ADODB_FORCE_TYPE = ADODB_FORCE_NULL;
include('adodb423/adodb.inc.php');
$adodbConn = &ADONewConnection('mysql');
$adodbConn->debug = true;
$adodbConn->PConnect($hostname_conn,$username_conn,$password_conn,$database_conn);
楼上的帮看看
变量没有值或者为空,他的值我在update的表单中清除了.
我想让他把数据库中该记录的这个字段也晴空了,怎么办
后先echo $updateSql看内容.
在类中print_r($record)的值为Array ( [nt_title] => 11111 [nt_content] => 4444444444 [nt_author] => [nt_intime] => 2004-11-16 )