0

我有一个问题,如何在 PHP 中创建一个随机字符串并检查 SQL 字符串是否存在,如果存在,则创建一个新字符串,但如果不存在则使用它

我有这个代码来创建随机字符串:

$original_string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
$random_string = get_random_string($original_string, 14);
echo $random_string;

我想检查随机字符串是否已被使用的 MySQL 是这个:

CREATE TABLE `en_videos` (
  `id` int(11) NOT NULL auto_increment,
  `name` text,
  `code` text,
  `description` text,
  `hits` int(11) default NULL,
  `program` int(11) default NULL,
  `lenght` int(11) default NULL,
  `hd` int(11) NOT NULL default '1',
  `subtitles` int(11) NOT NULL default '1',
  `type` text NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

我想检查代码字段上是否存在随机字符串

4

2 回答 2

1

尝试:

$original_string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
$random_string = '';

do {
    $random_string = get_random_string($original_string, 14);
} while ($mysqli->query('SELECT 1 FROM `en_videos`
             WHERE `code` = "' . $random_string . '"')->fetch_row());

echo $random_string;

这假设您正在使用该mysqli库。如果没有,请使用获取行的任何内容作为条件处理程序。

假设您正在使用这些mysql_*函数(在这种情况下,我建议您查看其他mysql 库):

$original_string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
$random_string = '';

do {
    $random_string = get_random_string($original_string, 14);
} while ($mysql_num_rows(mysql_query('SELECT 1 FROM `en_videos`
             WHERE `code` = "' . $random_string . '"')));

echo $random_string;
于 2012-09-24T17:36:51.497 回答
0
select count(*) as found_num
from en_videos
where `code` = '$random_string'

0如果未找到该字符串,则返回> 0

于 2012-09-24T17:35:51.903 回答