php - MySQL随机生成带有字母前缀的数字,使用变量时出错?

标签 php mysql

我一直在研究和研究这个问题,但找不到答案。这可能很简单。

我想用带有字符串前缀的随机生成的数字更新我的字段。示例:item283940。最好我想从 1000 开始,然后增加。我似乎对随机数进行了大部分查询,但看起来我遗漏了一些东西。

为什么这会导致语法错误?

$query = "SET @r := 1000; UPDATE discography SET pagename = (@r := @r + 1) ORDER BY RAND()";

mysql_query($query);

产量:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPDATE discography SET pagename = (@r := @r + 1) ORDER BY RAND()' at line 1

一旦错误被解决,我想知道如何在变量的开头添加前缀“item”。非常感谢。

编辑

看起来我的服务器使用旧版本的 PHP,所以我不能使用 mysqli。就解决我的其他问题而言,它效率低下,但这满足了我的需要:

$setit = "SET @r := 1000";
$changenames = "UPDATE discography SET pagename = (@r := @r + 1) ORDER BY RAND()";
$prepend = "UPDATE discography SET pagename=CONCAT('item',pagename)";
mysql_query($setit);
mysql_query($changenames);
mysql_query($prepend);

最佳答案

使用 mysql_query 您不能运行多个查询。问题就出在这里。

你必须使用 mysqli 的 multi_query 函数来运行多个查询。

另一方面,不要停止使用 mysql_*,因为它已被弃用。开始使用我提到的 mysqliPDO

关于php - MySQL随机生成带有字母前缀的数字,使用变量时出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15516857/

相关文章:

sql - 清理数据库记录

php - 使用Symfony的ACL时,使用JOIN查询还是IN数组查询更好?

php - 如何通过 pageid 获取维基百科中特定页面的所有链接(id)

php - 如何使用jquery的$.ajax错误参数

mysql - 使用正则表达式的 Flask SQLAlchemy 过滤器

asp.net - 调试 MySQL : Too many connections

php - 将 $_POST 数组插入数据库

javascript - 使用 PHP 将文件上传到 Google Cloud Storage Bucket

mysql - 如何在mysql的一组数据中使用like函数?

php - 存储银行帐号