我正在尝试连接到MySQL数据库以检查表(builditblocks)以查看用户在“name”列中是否有数据。
这是我到目前为止所做的:
<?php
$temp=mysqli_query($con, "SELECT * FROM `builditblocks`.`module_index`.`name`");
$i = 0;
while($module = mysqli_fetch_array($temp))
{
"moduleArray[".$i."]=\"" . $module["name"]."\";" ;
$i++
//stuck here I need to know how to
//store them all in an array and check
//to see if the input matches any array elements
}
如果表格中有名称,我如何查看表格?
答案 0 :(得分:1)
首先,将名称推送到新数组并使用in_array
$modules = array();
while($module = mysqli_fetch_array($temp))
{
$modules[] = $module['name'];
}
if(in_array($_POST['input'], $modules))
echo "I found";
else
echo "Not found";
答案 1 :(得分:1)
您可能想尝试将“WHERE”子句与“LIKE”结合使用。
$temp = mysqli_query($con, "SELECT * FROM `builditblocks`.`module_index`.`name` WHERE `name` LIKE '%input%'");
上面的代码只会为您提供名称中包含“input”的记录。 查看http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html#operator_like了解更多信息。
答案 2 :(得分:0)
要查找数据库中是否存在名称,您只需要在SQL查询中添加WHERE
。
$name = $module['name'];
"SELECT * FROM 'builditblocks'.'module_index'.'name' WHERE name = '".$name."'"
然后检查是否返回任何内容。如果是,则名称存在,如果不存在则则不存在。
答案 3 :(得分:0)
尝试以下方法:
$name = $module["name"]; // Assign your user input to a variable
$temp = mysqli_query($con, "SELECT * FROM builditblocks.module_index WHERE name = '" . $name . "'"; // Get all fields from table where the name field equals the user input.
if ($temp) {
// If any records were returned the name exists
} else {
// Otherwise the name doesn't exist
}
希望这有帮助。