PHP将MYSQL查询视为字符串

时间:2015-02-19 22:44:57

标签: php mysql

我想从我的博客文章数据库中找到最新id的int值,或者使用GET提供的id。如果我手动将GET输入到URL中,当我尝试echo 'current id='.$current_id;时,GET将回显该数字,但如果没有GET变量,它将回显current id=SELECT max(id) FROM posts;

if(isset($_GET['id'])){
  $current_id = $_GET['id'];
  }
else{
  $current_id = 'SELECT max(id) FROM posts';
}

为什么PHP认为这是一个字符串?

3 个答案:

答案 0 :(得分:1)

尝试执行以下查询:

<?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
}



?>

答案 1 :(得分:0)

因为这是一个字符串。

您需要连接到数据库,然后执行查询。

$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);
}

答案 2 :(得分:-2)

最新id可以是时间戳2015-02-18 16:53:00,也可以是名为id的列,其唯一值会增加。您需要确定将博客条目标识为“最新”的内容,然后进行相应的查询。