- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建 Wordpress 插件已有一段时间了。这是 mysql 表的示例:
$sql = "CREATE TABLE IF NOT EXISTS $table_name (
id INT(11) NOT NULL AUTO_INCREMENT,
email VARCHAR(100) DEFAULT NULL,
telephone VARCHAR(15) DEFAULT NULL,
PRIMARY KEY(id),
UNIQUE (email, telephone)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='WP plugin sesa_players db' AUTO_INCREMENT=1 ;
";
电子邮件应该是唯一的,对吧? phpMyAdmin 说了算。
这是将数据插入该表的 wordpress 代码:
$err = $wpdb->insert($wpdb->prefix.$table_name, $data, $format);
var_dump($err);
它有效,甚至比它应该的更有效。假设电子邮件是 m@m.com。第一次插入很顺利。第二次尝试失败,因为它应该重复输入。 var_dump 为假。
但是,如果我刷新 wp 页面,第三次尝试使用相同的电子邮件完美地通过,var_dump 1。任何重复的 wp 刷新都会打开数据库以进行重复输入。为什么?我做错了什么?
最佳答案
不,email
在这里不是UNIQUE
。 email
和 telephone
对在您的表定义中是UNIQUE
。
$sql = "CREATE TABLE IF NOT EXISTS $table_name (
id INT(11) NOT NULL AUTO_INCREMENT,
email VARCHAR(100) DEFAULT NULL,
telephone VARCHAR(15) DEFAULT NULL,
PRIMARY KEY(id),
UNIQUE (email),
UNIQUE (telephone)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='WP plugin sesa_players db' AUTO_INCREMENT=1 ;
";
可能这就是你想要的。
关于php - $wpdb->insert 没有重新分配唯一字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22607656/
我想知道 wordpress 的插入功能是否也会向数据添加斜杠。如果不是这样,准备查询方法似乎可以更好地防止 SQL 注入(inject)。我试着在 codex/api 中查找问题;但是,它似乎没有记
我试图确保避免任何 SQL 注入(inject),所以我很好奇 WordPress 如何处理这些类型的情况。 我想使用 WordPress 包装器将新值插入数据库。假设我有以下代码段: insert(
我正在尝试制作一个 wordpress 插件,但我遇到了一个问题。 问题出在更新查询上,我不明白为什么它不起作用。查询应该更新一个非 wordpress 表 global $wpdb; $sql ="
这个问题已经在各个地方提出了几次,但我还没有找到一个明确而明确的答案。大多数解决方案都涉及人们说要禁用 php.ini 文件上的魔术引号(我这样做了)或修改核心 WP 文件。 无论如何,问题是这样的:
我创建了一个简单的插件,它在主页上工作,但是当我创建一个链接到用户去另一个页面查看信息时,它向我显示 fatal error :未捕获错误:调用成员函数 get_results() 我的代码是: ge
我正在尝试使用 WPDB 连接到 WordPress,因为它是一个非常漂亮的类,而且 wp-config.php 中还指定了一些配置,因此我不需要再次指定它。 我将编写一个与主 WordPress 分
我有“类型”自定义字段和两个值(免费和付费)。我需要先循环获取“付费”帖子,然后再获取最新的免费帖子。如何对我的查询进行排序?我无法使用 wp_query。 global $wpdb; $query
我正在开发一款 WordPress 日历插件,可以添加附加到某个日期的事件。事件存储在工作正常的自定义数据库中。 但是我在使用 '$wpdb->get_results' 的函数时遇到了麻烦该函数需要一
我按照介绍使用prepare向表中插入一些数据。 代码是这样的: $wpdb->query( $wpdb->prepare( "INSERT INTO {$wpdb-
很难理解为什么这没有返回任何内容 - 很确定这是我的语法错误(wp_rg_lead_detail 表中肯定有一些行的 field_number 为 2 且值为 Trys) function manag
我可以在 SQL 查询方面使用一些帮助。我有一个小的 3 列表,id、ip 和生日。 id 自动递增。 我试图选择与特定 ip 关联的所有生日,但我不确定我编写的 SQL 语句是否正确。 var_du
此代码仅显示当前类别中的标签,但是它获取所有标签(数百个),因此,我需要限制返回结果的数量并使它们随机。 如何让这个查询随机只得到 20 个结果? /* Retrieve all tags from
我需要按数字插入到具有主键“id”的自定义表,但我遇到了这个问题,例如 我的表中有 5605 行(从 id = 1 开始),所以我必须设置当前 id = 5606 才能插入。 1/我手动设置了 $da
我制作了一个电子邮件脚本,只要 wp_mail 有结果,它就会更新。出于某种原因,我的值(value)不会更新。我错过了什么吗?我正在接收邮件,所以 wp_mail 可以正常工作。 干杯! $emai
如何计算使用 wordpress 默认数据库类成功执行删除查询的次数。 例如: $delete = $wpdb->query("DELETE FROM table where and itemid >
我不确定这个问题是 WordPress 特有的还是与 mySQL 更相关。我试图找出如果与数据库的事务失败会返回什么。在以下场景中,我正在更新一行。如果没有更改任何值,则返回 false。如果进行了更
我想准备我的数据以避免 SQL 注入(inject)。所以我当前的工作代码显示表列中的数据列表: global $wpdb; $sliders = $wpdb->get_results('SELECT
我试图在主题的functions.php中查询数据库,但它显示 Fatal error: Call to a member function get_results() on a non-object
我正在尝试以编程方式从数据库中删除一条记录。当我像这样对其进行硬编码时,它确实会从数据库中删除一条记录: $wpdb->delete( $table_name, array( 'user_id' =>
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 4年前关闭。
我是一名优秀的程序员,十分优秀!