唯一我有了这样的列MySQL表:检测一个数字是在MySQL/PHP数据库
ID
-----
0352
5432
4382
3520
30593
3992
295
我要检测一个特定数量的存在与否。
注意:该表格不仅仅是ID列。
例如
$num = 5432
if($num IS IN ID) {
// code
} else {
// code
}
唯一我有了这样的列MySQL表:检测一个数字是在MySQL/PHP数据库
ID
-----
0352
5432
4382
3520
30593
3992
295
我要检测一个特定数量的存在与否。
注意:该表格不仅仅是ID列。
例如
$num = 5432
if($num IS IN ID) {
// code
} else {
// code
}
$result = mysql_query("SELECT ID FROM table WHERE ID = '5432'");
$num_rows = mysql_num_rows($result);
if ($num_rows > 0) {
// number is in the table
} else {
// number is not in the table
}
非常感谢 – Talon 2012-03-21 04:39:24
使用数查询
SELECT COUNT(1) FROM `table` WHERE `ID` = 5432;
然后,您可以决定...
PDO实例
$stmt = $pdo->prepare('SELECT COUNT(1) FROM `table` WHERE `ID` = ?');
$stmt->bindParam(1, $num);
$num = 5432;
$stmt->execute();
$count = $stmt->fetchColumn();
switch ($count) {
case 0 :
// does not exist
break;
case 1 :
// exists and unique
break;
default :
// exists, not unique
}
+1使用PDO! – Anthony 2012-03-21 04:00:03
$result = mysqli_query("SELECT id FROM table WHERE id = {$num}");
if (mysql_num_rows($result)) {
//already exists
} else {
//does not exist
}
好, 你总是可以执行一个查询到DB这样的:
SELECT COUNT(ID) AS cnt WHERE ID = [your id]
然后,早在PHP中,从$ row变量(例如ju)中获取查询结果后ST siply检查
if ($row['cnt'] > 1)
菲尔的答案是当场就,如果你事先知道的ID。如果你想在事先都是独一无二的ID从表列表(假设这不是一个潜在的内存问题),您可以使用此查询:
SELECT `ID`, COUNT(`ID`) AS `IS_UNIQUE` FROM `table`
GROUP BY `ID` HAVING `IS_UNIQUE` = 1;
这将返回出现一次所有ID在桌子里。
你是如何得到要检查的数字? – hjpotter92 2012-03-21 03:48:49
'如果数字存在与否'和'检测数字是否唯一'是不同的任务 – 2012-03-21 03:55:32
k感谢您的智慧... – Talon 2012-03-21 16:22:26