- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个脚本应该采用电子邮件值的形式并查询数据库中的重复项。但是,无论我使用现有电子邮件(在数据库中)还是新电子邮件,我都会“成功”。
我的脚本是这样的:
if(!empty($_POST['email'])) {
$email = $_POST['email'];
// query the database for duplicates
$query = 'SELECT email FROM user_info WHERE email = "$email"';
$result = mysqli_query($db, $query);
if(mysqli_num_rows($result)){
echo "Email already taken";
} else {
echo "Success";
}
显然 mysqli_num_rows
正在返回一些 类型的数据——或者根本没有。
如果我选择数据库中已存在的电子邮件,有谁理解为什么我不会得到返回的行?
编辑
$('#email').blur( function() {
if(!this.value){
$('#jquery_msg').html("Email can't be empty");
} else if (!filter.test(this.value)){
$('#jquery_msg').html("Not a valid email");
} else {
var emailVal = $('#email').val();
// make an ajax call
$.ajax({
url: 'validation.php',
type: 'post',
data: {'email': 'emailVal'},
success: function(data, status) {
$('#jquery_msg').html(data);
// console.log(data);
},
error: function(xhr, desc, err) {
console.log(xhr);
console.log("Details: " + desc + "\nError:" + err);
}
}); // end ajax call
}
});
问题出在通过 Ajax 传递给 PHP 脚本的数据中。我认为 $('#email').val();
的值实际上是 emailVal
。咦..现在我需要解决如何将值正确传递到 Ajax 调用中。
谢谢大家的帮助。
最佳答案
这是错误的:
$query = 'SELECT email FROM user_info WHERE email = "$email"';
除了潜在的 sql 注入(inject)问题外,当您使用单引号时,变量不会被解析。
您应该改用准备好的语句:
$query = 'SELECT email FROM user_info WHERE email = ?';
然后你可以准备语句,绑定(bind)占位符并获取结果。检查manual获取更多信息。
一个快速的解决方案也是:
$query = 'SELECT email FROM user_info WHERE email = "'
. mysqli_real_escape_string($db, $email) . '"';
编辑:要解决更多问题,您应该在数据库调用中添加错误处理。您可以让 mysqli 抛出异常,告诉您到底出了什么问题 - 如果有的话 - 通过将其添加到脚本的顶部:
ini_set('display_errors',1);
error_reporting(E_ALL | E_STRICT);
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
关于php - mysqli_num_rows 没有返回准确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27659834/
当然,您可以将剩余文件大小除以当前下载速度,但如果您的下载速度波动(而且它会波动),这不会产生很好的结果。有什么更好的算法可以产生更平滑的倒计时? 最佳答案 安exponential moving a
对于一个业余项目,我正在尝试对齐照片并创建 3D 图片。我基本上在一个钻机上有 2 个相机,我用来拍照。我会自动尝试以您获得 3D SBS 图像的方式对齐图像。 它们是高分辨率图像,这意味着需要处理大
当然,您可以将剩余的文件大小除以当前的下载速度,但如果您的下载速度波动(而且会波动),这不会产生很好的结果。什么是产生更平滑倒计时的更好算法? 最佳答案 安exponential moving ave
我有一个数据集,其中包含患有糖尿病和未患有糖尿病的人。我想使用这些数据训练一个模型来计算糖尿病状况未知的人的风险概率。我知道在培训中没有被诊断出糖尿病的人大多数都没有糖尿病,但很可能其中一些人可能患有
let parent = path[row-1] let child = path[row] let indexOfChild = matrix[parent.obje
我正在编写一些使用 Element.getBoundingClientRect 的代码(gBCR),加上内联样式更新,以执行计算。 这不适用于一般网站,我不关心或不感兴趣是否有“更好的 CSS 方式”
我有一个很大的 csv 文件,其中包含大量脏数据,我想通过消除所有不是绝对必要的值来稍微清理一下它。 Here是我正在谈论的文件。 它有以下组件: 网站,标题,开始日期,开始日期,雇主,地点,纬度,
有谁知道一个库,它为 Java 提供了一个错误不高于 1-2 毫秒的 Thread.sleep()? 我尝试了 sleep 、错误测量和 BusyWait 的混合,但在不同的 Windows 机器上我
UiApp有DateBox和 DateTimeFormat 对于那个类(class)。但是,不存在诸如 TimePicker 或 TimeBox 这样的东西,用户可以通过明确指定的方式(例如通过使用
因此,我使用 sklearn 的 svm.SVC 模块编写了一个程序来学习 mnist 数据集,出于某种原因,每当我计算其准确性为 100% 时。这似乎好得令人难以置信,这是预期的吗? from sk
我当前找到了 gpytorch ( https://github.com/cornellius-gp/gpytorch )。它似乎是将 GPR 集成到 pytorch 中的一个很棒的包。第一次测试也呈
我正在使用 QT Creator 5.9 创建一个简单的 Web 浏览器模型,我的 EditLine/Text Box 有问题: 1.如何在转到不同的网站/页面后自动更新显示的 URL 字符串。 2。
我在 Linux 上尝试 time -p 命令,我写了一些代码来浪费 CPU 周期: #include using namespace std; int main() { long int c;
亲爱的程序员/脚本编写者/工程师/其他人, 问题:我目前正在为 Android 3.2 平板电脑开发增强现实应用程序,但在获取准确的罗盘读数方面遇到一些问题。我需要确切地知道平板电脑所面向的 (z)
我最近一直在尝试了解 Apache Spark 作为 Scikit Learn 的替代品,但在我看来,即使在简单的情况下,Scikit 收敛到准确模型的速度也远远快于 Spark。例如,我使用以下脚本
如果不是,它的准确性如何? 我想在下载之前知道图片的大小。 最佳答案 HTTP Content-length header 是否格式错误?是的。 您是否应该相信它能公平地表示消息正文的大小?是的。 关
这是一个关于 ngram 线性回归的问题,使用 Tf-IDF(术语频率 - 逆文档频率)。为此,我使用 numpy 稀疏矩阵和 sklearn 进行线性回归。 使用一元语法时,我有 53 个案例和 6
对于某些给定的固定宽度,如何计算特定标签 (NSTextField) 中字符串的高度? 我用谷歌搜索了各种方法并尝试了 this method from Apple .它的工作原理,除了高度变成一行对
我是一名优秀的程序员,十分优秀!