首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL查询集&更新,但不从PHP调用

问SQL查询集&更新,但不从PHP调用
EN

Stack Overflow用户
提问于 2018-07-28 06:38:52
回答 2查看 27关注 0票数 0

我正在尝试更新表行,使其具有随机数。现在,我可以使用phpMyAdmin实现这一点,并通过SQL查询运行它。但是,如果我尝试通过PHP调用运行相同的代码,那么它就不能工作。你知道为什么会是这样吗?我会如何纠正呢?

表名为:num_image

列名:rownum

这是我使用的SQL:

代码语言:javascript
复制
SET @rownum := 0; 
UPDATE num_image SET rownum = (@rownum:=@rownum+1) ORDER BY RAND();

我尝试在我的php代码中输入它,如下所示:

代码语言:javascript
复制
<?php
  // Connect to database
  include 'DB.php';
  $con = mysql_connect($host,$user,$pass);
  $dbs = mysql_select_db($databaseName, $con);

  // Assigns a new random number with no duplicates to database for each rownum row.

  $updaterownum = mysql_query("SET @rownum := 0; UPDATE num_image SET rownum = (@rownum:=@rownum+1) ORDER BY RAND();");

  echo 'All rownums have been updated!';

?>

我的数据库连接工作正常,因为我使用相同的其他数据库更新和插入。因此,我将范围缩小到如何在PHP调用中插入实际的SQL,并相信我必须编辑调用它的方式?

我肯定这是我错过的一件小事,虽然我很困惑。提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-28 07:06:19

下面的抛光代码可以在PHP中完成这项工作。但是,正如注释中提到的那样,mysql扩展被废弃,并将在将来被删除。

代码语言:javascript
复制
<?php
  // Connect to database
  include 'DB.php';
  $con = mysql_connect($host,$user,$pass);
  $dbs = mysql_select_db($databaseName, $con);
  if($con)
  {
        $updaterownum = mysql_query("SET @rownum := 0");
        $updaterownum = mysql_query("UPDATE num_image SET rownum = (@rownum:=@rownum+1) ORDER BY RAND()");
        if(mysql_affected_rows()>0)
        {
            echo 'All rownums have been updated!';
        }
        else
        {
            echo "Nothing changed after running update query!";
        }
  }
  else
  {
      echo "Not able to connect";
  }
?>
票数 1
EN

Stack Overflow用户

发布于 2018-07-28 06:46:35

我在:http://php.net/manual/en/mysqli.quickstart.multiple-statement.php看到一份文件

以下是几句简短的台词:

MySQL允许在一个语句字符串中有多个语句。同时发送多个语句可以减少客户机-服务器往返,但需要特殊处理。

必须使用mysqli_multi_query()执行多个语句或多个查询。语句字符串的单个语句用分号分隔。然后,必须获取执行语句返回的所有结果集。

MySQL服务器允许在一个多个语句中具有返回结果集的语句和不返回结果集的语句。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51568772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档