Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP将MYSQL查询视为字符串_Php_Mysql - Fatal编程技术网

PHP将MYSQL查询视为字符串

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

我想从我的博客文章数据库中找到最新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';
}

为什么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
}



?>


Latest
id
可以是一个时间戳
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。我设法使它起作用。