PHP将MYSQL查询视为字符串
我想从我的博客文章数据库中找到最新id的int值,或者使用GET提供的值。如果我在URL中手动输入GET,当我尝试PHP将MYSQL查询视为字符串,php,mysql,Php,Mysql,我想从我的博客文章数据库中找到最新id的int值,或者使用GET提供的值。如果我在URL中手动输入GET,当我尝试echo'current id='。$current\u id,GET将回显该数字,但如果没有GET变量,它将回显当前id=从POST中选择max(id) if(isset($_GET['id'])){ $current_id = $_GET['id']; } else{ $current_id = 'SELECT max(id) FROM posts'; } 为什么P
echo'current id='。$current\u id代码>,GET将回显该数字,但如果没有GET变量,它将回显当前id=从POST中选择max(id)代码>
if(isset($_GET['id'])){
$current_id = $_GET['id'];
}
else{
$current_id = 'SELECT max(id) FROM posts';
}
为什么PHP认为这是一个字符串?尝试执行如下查询:
<?php
//Open a new connection to the MySQL server
$mysqli = new mysqli('host','username','password','database_name');
//Output any connection error
if ($mysqli->connect_error) {
die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
}
//MySqli Select Query
$result = $mysqli->query("SELECT max(id) FROM posts");
if($result !== false ) { //$mysqli->query() returns false on failure
// query is ok
$row = $result->fetch_assoc();
//get id from database
$id = (int)$result['id'];
} else {
// query failed, handle errors
}
?>
Latestid
可以是一个时间戳2015-02-18 16:53:00
,也可以是一个名为id
且唯一值递增的列。您需要确定哪些内容将博客条目标识为“最新”,然后进行相应的查询。因为这是一个字符串
您需要连接到数据库,然后执行查询
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$connection = new mysqli($servername, $username, $password, $dbname);
if(isset($_GET['id'])){
$current_id = $_GET['id'];
}
else{
$query = 'SELECT max(id) FROM posts';
$current_id = $conn->query($query);
}
它认为它是一根弦,因为它是一根弦。您必须执行查询,然后从结果中提取id。您的示例$current\u id=$conn->query($query)将不会返回所需的值。。。这来自PHP手册:Mysqli::query在失败时返回FALSE。为了成功地选择、显示、描述或解释查询,mysqli_query()将返回一个mysqli_结果对象。对于其他成功的查询,mysqli_query()将返回TRUE。哦,我明白了,我曾尝试使用普通的MySQL连接,但最近我改为使用PDO。我设法使它起作用。