好的,基本上我正在尝试创建一个简单的网络应用
我想检查表中是否有一个元素,如果在内部我想返回一个布尔值,例如,如果" abc"在名为" name"的表中。然后返回YES。
这是我的代码,不工作:
function palindromeCheck(string) {
const check = string.split('').reverse().join('');
return string === check;
}
和这里的非工作部分:
error_reporting(E_ALL);
$mysql = mysqli_connect(/* PRIVATE DATA */) or die ("ERROR CONNECTING TO THE DB");
if(isset($_POST['submit'])) {
$theAddress = $_POST['youtubeURL'];
$result = "SELECT * FROM data WHERE youtubeURL = '" . $theAddress . "'";
$query = mysqli_query($mysql, $result);
if (!$query) {
printf("Error");
} else {
printf("NO ERROR");
}
答案 0 :(得分:1)
首先,学习使用参数查询。它们实际上并不比将字符串值填充到查询中更难。
其次,如果你想知道某些东西是否存在,那么只需编写查询即可。最简单的查询可能是:
SELECT EXISTS (SELECT 1 FROM data WHERE youtubeURL = ?) as exists_flag
如果匹配,则返回1。只需运行查询并读取返回的单个值。
请注意,返回select *
以检查是否存在是一种反模式。从数据库返回的数据超出了您的需要(在行和列方面)。这通常不是一个好主意。
答案 1 :(得分:0)
你需要使用mysqli_num_rows来计算行..
$result = "SELECT * FROM data WHERE youtubeURL = '" . $theAddress . "'";
$query = mysqli_query($mysql, $result);
if(mysqli_num_rows($query)) {
echo "AT LEAST ONE RESULT LIKE THIS";
} else {
echo "NO RESULT LIKE THIS";
}
答案 2 :(得分:0)
应该是这样的。
//in case you want to see total of the wors
if(mysqli_num_rows($query) == 0) {
echo "NO RESULT LIKE THIS";
} else {
echo "AT LEAST ONE RESULT LIKE THIS";
}
//in case you want to check for each of the row
while($row = mysqli_fetch_array($query)) {
if (empty($row)) {
echo "NO RESULT LIKE THIS";
} else {
echo "AT LEAST ONE RESULT LIKE THIS";
}
}