【发布时间】:2013-12-01 17:34:05
【问题描述】:
我不是第一个遇到此问题的人,但其他人的解决方案不起作用。 此脚本始终为 mysql_insert_id() 返回 0;我正在使用多个主键。
$sql = "INSERT INTO Produkte (Name,Price,Description,User)
VALUES ('".$_POST['name']."','".$_POST['price']."','".$_POST['description']."','".$_SESSION['user']."');";
$result = $GLOBALS['DB']->query($sql);
echo mysql_insert_id();
echo '<div class="saving">';
if($result){
echo "Saved!";
} else{
echo("Saving failed");
} echo '</div>';
}
我已经尝试过mysql_insert_id($link),我将$link 链接到mysql_connect() 和mysql_insert_id($GLOBALS['DB']->MySQLiObj)
我的 $GLOBAL['DB']
if(!isset($GLOBALS['DB']))$DB = new \System\Database\MySQL(MYSQL_HOST,MYSQL_BENUTZER,MYSQL_KENNWORT,MYSQL_DATENBANK,MYSQL_PORT);
我的 MySQL 课程:
public $MySQLiObj = null;
function __construct($server, $user, $password, $db, $port = '3306')
{
$this->MySQLiObj = new \mysqli($server, $user, $password, $db, $port);
if (mysqli_connect_errno())
{
echo "Keine Verbindung zum MySQL-Server möglich.";
trigger_error("MySQL-Connection-Error", E_USER_ERROR);
die();
}
$this->query("SET NAMES utf8");
}
【问题讨论】:
-
你使用的是什么数据库抽象层($GLOBALS['DB'])?
-
@JohnConde 它什么也没说
mysql_error();(error_reporting(E_ALL);) -
mysql_insert_id()自 PHP 5.5.0 起已弃用,请改用mysqli功能 -
@user2972107 你的意思是我应该使用
mysqli::$insert_id? -
是的...让您的代码在标准和性能方面保持最新并没有什么坏处! :)
标签: php mysql sql insert mysql-insert-id