首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向数据库PHP添加ID号

问向数据库PHP添加ID号
EN

Stack Overflow用户
提问于 2013-12-28 07:54:12
回答 3查看 272关注 0票数 0

此脚本使用MD5散列单词列表,并将其与纯文本一起存储在数据库中:

代码语言:javascript
复制
<?php
    $dict = $_POST["dict"];
if (!isset($_POST['submit'])){
    echo "<form method=\"post\" action=\"\">";
    echo "Wordlist: <input type=\"text\" name=\"dict\"><br>";
    echo "<input type=\"submit\" value=\"GET DIC\" name=\"submit\">";
    echo "</form>";
}else{
    $file = fopen($dict, "r");
    while (!feof ($file)){
    $load[$i] = fgets($file, 1024);
    mysql_connect("xxx","xxx","xxx");
    mysql_select_db("xxx");
    $word = $load[$i];
    $md5 = md5($word);
    $lastid=mysql_insert_id();
    $lastid=$lastid+1;
    mysql_query("INSERT INTO md5 VALUES ('$lastid', '$md5', '$word');");
    $i++;
    $limit = count($load);
    $width2 = $limit;
}
    fclose($file);
    echo "[+]Loaded ".$limit." word.";
    echo "<br>Done.";
}
?>

我在为每一行生成ID时遇到了困难。我希望脚本从存储在数据库中的最后一个数字开始ID的编号。

例如:

代码语言:javascript
复制
ID : MD5 : Country
1  : HASH: Africa
2  : HASH: Russia

当我执行脚本时,我希望它从ID 3开始,并一直进行到列表完成为止。我的剧本怎么了?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-12-28 08:01:03

在表中,将ID字段设置为自动增量。然后从代码中删除整个ID部分,并让数据库处理它。

删除:$lastid=mysql_insert_id();

删除:$lastid=$lastid+1;

改为:mysql_query("INSERT INTO md5 (md5, country) VALUES ( '$md5', '$word');");

删除:$i++;

票数 4
EN

Stack Overflow用户

发布于 2013-12-28 08:05:30

我建议您使用自动增量,这将为您节省大量石灰。因为自动增量开始从前面的数字中添加,正如您所说的,它将是3。

票数 1
EN

Stack Overflow用户

发布于 2013-12-28 08:07:46

考虑使用准备好的语句(使用mysqli或PDO)。否则,如果任何单词都包含撇号,您就会陷入麻烦。此外,mysql_函数被取消,并将在未来被删除。

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

https://stackoverflow.com/questions/20812304

复制
相关文章

相似问题

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