gpt4 book ai didi

php - SQL : LIKE Clause to match the values

转载 作者:行者123 更新时间:2023-11-29 06:04:26 25 4
gpt4 key购买 nike

我有一个移动验证字段,如果我们键入与数据库中相同的数字/值,它会给出一条消息,说明该值存在,如果该值不存在,则其他可用

这是目前正在使用的查询:-

SELECT mobile FROM candidate_tabletest WHERE mobile  LIKE '%' '$mobile' '%' 

上述查询在某些情况下不起作用。例如,如果我们在数据库中有号码 123456789,当我们在手机字段中输入代码或任何其他格式(如 +91-123456789)时,它仍然表示手机号码可用。

此处供引用是我的移动领域 HTML 代码:-

<input type="text" class="form-control" id="mobile" name="mobile"    placeholder="mobile" value="+91" onkeyup="checkmobile();" > 

用于检查的 PHP 代码:-

  <?php

$host = 'localhost';
$user = 'root';
$pass = '';

mysql_connect($host, $user, $pass);

mysql_select_db('appsrx1a_skyfler');

if(isset($_POST['user_mobile']))
{
$mobile=$_POST['user_mobile'];

$checkdata=" SELECT mobile FROM candidate_tabletest WHERE mobile LIKE '$mobile' '%' ";

$query=mysql_query($checkdata);

if(mysql_num_rows($query)>0)
{
echo '<span style="color:red;"><b>Mobile Already Exists</b></span>';
}
else
{
echo '<span style="color:green;"><b> Available</b></span>';
}
exit();
}

如果号码 (123456789) 存在于数据库中,即使用户将手机号码键入 +91-123456789 或任何其他格式。它应该给出一条警告消息,说明该号码已经存在。

最佳答案

你应该使用 concat .. 来构建一个合适的字符串模式

 SELECT mobile FROM candidate_tabletest WHERE mobile  LIKE concat( '%', '$mobile', '%' );

按照 Gordon Linoff 的建议,remmber 替换了有问题的字符

 SELECT mobile 
FROM candidate_tabletest
WHERE mobile LIKE concat( '%', REPLACE(REPLACE('$mobile', '-', '') , '+', ''), '%' );

如果您只需要手机号码的右边部分,那么您可以使用

 SELECT mobile 
FROM candidate_tabletest
WHERE mobile LIKE concat( '%', SUBSTRING_INDEX('$mobile', '-', -1), '%' );

关于php - SQL : LIKE Clause to match the values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42626064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com