Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.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查询结果转换为变量,然后echo($variable)_Php_Html_Mysql - Fatal编程技术网

PHP MySQL查询结果转换为变量,然后echo($variable)

PHP MySQL查询结果转换为变量,然后echo($variable),php,html,mysql,Php,Html,Mysql,希望检查表(category)中的最后一个id(cat_id),并将该结果插入一个我可以回显的变量中 我的意图是创建一个记录lastcat\u id+1,当然,只要它不存在 我想我应该做的是这样的事情 <?php require "mydbdetails.php"; $query="SELECT cat_id FROM category ORDER BY cat_id DESC LIMIT 1"; $result=mysql_query($query); echo

希望检查表(
category
)中的最后一个id(
cat_id
),并将该结果插入一个我可以回显的变量中

我的意图是创建一个记录last
cat\u id
+1,当然,只要它不存在

我想我应该做的是这样的事情

<?php
   require "mydbdetails.php";
   $query="SELECT cat_id FROM category ORDER BY cat_id DESC LIMIT 1";
   $result=mysql_query($query);
   echo ($result);

 ?>
addrec.php

<?php
  require "mydbdetails.php";
  $new_id = $result + 1;
  $query="INSERT INTO category VALUES ($new_id, 'Fruits')";
?>

cat_是主键吗?如果是,则可以将该列设置为自动增量。你可以试试这个


< P> <回声$结果[0 ] [ 'CasuID' ]我认为

请考虑使用语法而不是旧的不推荐的MySQL查询。

如果建立PDO连接并将其存储在
$conn
对象中(与
mydbdetails.php
中已有的非常类似),只需执行以下操作:


首先,您应该真正使用
mysqli
而不是
mysql
,因为
mysql
已被弃用,将在PHP5.5中删除

当然,PDO会更好,但我认为你是如此的新,它会有点太多了

基本上,您正在启动一个查询,但您不告诉该查询连接到什么。您正在这样做:

$result=mysql_query($query);
它应该是什么

$result=mysqli_query($link, $query);
其中,
$link
是在
mydbdetails.php
文件中设置数据库连接的变量

没有连接,查询不知道从哪里获取数据

但是如果OOP对你来说不是新鲜事,那么@amenadiel的答案会更好,因为它是一种OOP方式

此外,不需要您的
$new\u id=$result+1

在数据库中,IDs应该几乎总是设置为
Auto-increment
,因此在添加新数据集时,这一行将在数据库中自动完成

希望这有帮助

<?php
  require "mydbdetails.php";
  $query="SELECT cat_id FROM category ORDER BY cat_id DESC LIMIT 1";
  $result=mysql_query($query);

  $i;
  while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
      var_dump($row);  /* dump rows*/

      /* or add to array to use later */
      $results[$i] = $row; // add to array
      $i++; // +1 the counter to increment the array
  }
?>

作为一名开发人员,您必须首先知道,php中的mysql扩展将来将被完全弃用,因为它已经出现在较新的php版本中。因此,使用Mysqli扩展和PDO作为数据库的安全代码

至于你的问题:-尝试以下方法

   // Make a MySQL Connection
   $query = "SELECT cat_id FROM category ORDER BY cat_id DESC LIMIT 1";
   //assign result to a variable
   $result = mysql_query($query) or die(mysql_error());
   //fetch result as an associative array
   $row = mysql_fetch_array($result) or die(mysql_error());
   echo $row['cat_id'];

您可以将其分配给变量
$row['cat_id']=$catId尝试在或函数中编写脚本。在mysql_uu函数中解决问题(不推荐)



请务必阅读以下内容:这不是对您问题的回答,但在您继续学习php/MySQL时非常重要。另外,不要忘记MySQL函数已被弃用。使用mysqli_389;。这不是对他的问题的回答,尽管你是对的,但这属于评论
<?php
  require "mydbdetails.php";
  $query="SELECT cat_id FROM category ORDER BY cat_id DESC LIMIT 1";
  $result=mysql_query($query);

  $i;
  while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
      var_dump($row);  /* dump rows*/

      /* or add to array to use later */
      $results[$i] = $row; // add to array
      $i++; // +1 the counter to increment the array
  }
?>
   // Make a MySQL Connection
   $query = "SELECT cat_id FROM category ORDER BY cat_id DESC LIMIT 1";
   //assign result to a variable
   $result = mysql_query($query) or die(mysql_error());
   //fetch result as an associative array
   $row = mysql_fetch_array($result) or die(mysql_error());
   echo $row['cat_id'];
<?php
   require "mydbdetails.php";
   $query="SELECT cat_id FROM category ORDER BY cat_id DESC LIMIT 1";
   $result=mysql_query($query);
   if (mysql_num_rows($result) > 0) {
      $row = mysql_fetch_array($result);
      $cat_id = $row['cat_id'] + 1; 
   } else {
      $cat_id = 1; 
   }

 ?>