php - 使用 PHP 代码替换 MYSQL 字符串

标签 php mysql string replace

我有这段代码,但无法让它工作:

$character_set_array = array();

    $character_set_array[] = array('count' => 8, 'characters' => '0123456789');
    $temp_array = array();
    foreach ($character_set_array as $character_set) {
        for ($i = 0; $i < $character_set['count']; $i++) {
            $temp_array[] = $character_set['characters'][rand(0, strlen($character_set['characters']) - 1)];
        }
    }
    shuffle($temp_array);
    $pinstart = 'AA';
    $pinend = implode('', $temp_array);
    $newpin = $pinstart.$pinend;




function regenerate_pin($pin)
{   
    if ($PIN == 'PIN') { return ''; } else {
    $pin = mysql_real_escape_string($pin);  // SECURITY!
    $result = mysql_query("SELECT pin FROM pins WHERE pin='$pin' LIMIT 1");



    if(mysql_num_rows($result) == 0) {
        return 'This pin has already been used';
            } else {
        $sql = mysql_query("UPDATE pins SET pins='$newpin'"); 
        return "The pin has been regened, the new pin is '.$newpin.'";
             } }
}

基本上我想让它做的是: - 从 HTML 输入框中获取 pin, - 检查数据库中是否存在该引脚(有效) - 如果存在,将 $pin 替换为 $newpin 并打印出 $newpin,这就是我的表格的样子

enter image description here

  • 有关我的 table 的一些信息:
  • 表名=pins 存储pin的列名为Pin

感谢您的阅读,我希望我能找到一个快速的解决方案。

最佳答案

您的 regenerate_pin() 函数看不到 $newpin 变量,您的 UPDATE SQL 可能是错误的:

“UPDATE引脚SET pin='$newpin'”更改为“UPDATE引脚SET pin='$newpin'”

对于该功能,您有两种选择:

添加全局$newpin;函数 regenerate_pin($pin) 内的行 -code

function regenerate_pin($pin)
{  
 global $newpin;
...
}

或者将 $newpin 变量作为参数发送给 regenerate_pin-function。'

function regenerate_pin($pin, $newpin)
{  
...
}

你必须像这样调用你的 regenerate_pin 函数

regenerate_pin('oldpin', 'newpin');

关于php - 使用 PHP 代码替换 MYSQL 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18141754/

相关文章:

java - Java 中一个字符是 1 个字节还是 2 个字节?

c# - 通过 PHP REST api 使用 C# 进行安全身份验证和请求

php - 通过 jquery ajax 发送 json 不起作用

c - 从文件中读取单词/字符串+它们的长度 - c

php - 如何通过下拉列表选择MySQL表

mysql - 通过 SSH 导入 magento 数据库时出错

java - 从字符串中删除大量字符的更简单方法?

php - php邮件的smtp配置

php - 如何在 SQL 中对多个字段进行排序和过滤搜索

mysql - shell EOF 不适用于 mysql 命令