我正在尝试从上一个查询中提取自动递增的ID。我收到异常:1305 FUNCTION THE_NAME_OF_MY_DATABASE.mysqli_insert_id不存在。
这不是语法错误吗?
在哪里可以更改mysql以具有此功能,或者需要改写什么?我已经在Google上进行了搜索,发现回应不一。
$action = isset( $_POST['action'] ) ? $_POST['action'] : "";
if($action == "create"){
//write the query for character creation
$query = "(all of my stuff that I'm putting into another database that works)";
$query1 = "INSERT INTO playerskill
(skillid, charid)
VALUES ('".$_POST['skills']."',mysqli_insert_id());
";
//what happens when successful or not
if( $mysqli->query($query) ) {
echo $query ;
echo "Character was approved.";
}else{
echo "Database Error: Unable to update record.";
echo $mysqli->errno;
echo mysqli_error($mysqli);
}
}
//what happens when successful or not
if( $mysqli->query($query1) ) {
echo $query1 ;
echo "Character was approved.";
}else{
echo "Database Error: Unable to update record.";
echo $mysqli->errno;
echo mysqli_error($mysqli);
}
最佳答案
根据您的代码:
$query1 = "INSERT INTO playerskill (skillid, charid)
VALUES ('".$_POST['skills']."',mysqli_insert_id());";
请注意,与所有其他
mysqli_insert_id()
函数一样,mysqli
要求您指定数据库连接变量。我注意到,其余大部分代码对mysqli使用OO语法,这意味着将连接变量指定为对象名称。对于此处的
mysqli_insert_id()
,您将使用过程语法来调用它,在这种情况下,必须将连接var指定为第一个参数。因此,您需要
mysqli_insert_id($mysql)
或$mysql->insert_id
那应该解决问题。
关于php - 在哪里找出功能是否存在?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17169192/