【发布时间】:2010-01-06 18:21:48
【问题描述】:
下面的这个函数怎么可能在我的数据库中插入两行?
//called like
save_session_db($_SESSION['user_id']);
function save_session_db($session){
include('includes/db-connect.php');
$connectionInfo = array( 'Database' => 'Belior');
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if($conn){
$date = date('l jS \of F Y');
$_SESSION['model_start_date'] = $date;
$tsql = "INSERT INTO User_Session (user_id, date_created) VALUES ('$session', '$date')";
echo 'insert--<br>'.$tsql;
if(sqlsrv_query($conn, $tsql)) {
return true;
}else{
return false;
}
}else{
return false;
}
sqlsrv_close($conn);
}
此函数不会从其他任何地方调用。当我评论上面的函数调用时,没有任何东西被插入到数据库中。而且 PHP 不会抱怨无效的函数调用,这意味着它不会从其他任何地方调用。
当我取消注释函数调用时,会插入两行!
感谢大家的帮助。我确信它很简单,我只是想不通。以前可以用,我不记得我调整了什么。
更新
看起来好像我的每个页面都被加载了两次?!为什么?我在任何地方都没有执行此操作的 htaccess 文件?
127.0.0.1 - - [06/Jan/2010:18:34:00 +0000] "GET /webs/end/create.php HTTP/1.1" 200 44830
127.0.0.1 - - [06/Jan/2010:18:34:06 +0000] "GET /webs/end/create.php HTTP/1.1" 200 44830
【问题讨论】:
-
回显语句是打印一次还是两次?
-
一次 - 它显示正确的 tsql 语句。
标签: php sql-server tsql