[英]Returning a value depending on number of rows returned from SQL query
我是PHP和SQL的新手,正在尝试编写一个函数,如果SQL查询返回至少一个结果,该函数将返回true。
我到目前为止所拥有的是
function isNew($canNum)
{
connectToDatabase();
SELECT COUNT(*) as cnt FROM
FROM 'cans' c
WHERE c.date >= DATE_SUB(NOW(), INTERVAL 1 DAY)
AND c.canId = '$canNum';
disconnectDatabase();
//return true if above returns a row
disconnectDatabase();
}
我的问题是如何做返回,因为计数不是我可以做<比较的php变量。
function isNew($canNum)
{
if (count(mysql_fetch_assoc(mysql_query("
SELECT COUNT(*) as cnt FROM
FROM 'cans' c
WHERE c.date >= DATE_SUB(NOW(), INTERVAL 1 DAY)
AND c.canId = '$canNum';
")))>0)
{
return true;
}
else
{
return false;
}
}
可能是您需要在代码中使用这些php函数之一
<?php
$q = mysql_query("your query here!")
if($q = mysql_num_row() > 1 ){
//your code
}
?>
<?php
function isNew($canNum)
{
$con=mysqli_connect("localhost","UID","PSW","DB"); //Db connection
//connectToDatabase();
$sql="SELECT COUNT(*) as cnt FROM 'cans' c WHERE c.date >= DATE_SUB(NOW(), INTERVAL 1 DAY) AND c.canId = '$canNum'";
$result = mysqli_query($con,$sql);
$count_1=mysqli_fetch_array($result);
$count=$count_1['cnt'];
// disconnectDatabase();
//return true if above returns a row
mysqli_close($con);
// disconnectDatabase();
return $count; //returns count you can modify it the way you want
}
echo "Current count is ".isNew(10);
?>
您的代码看起来不像一段PHP代码! 尝试这个:
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Not connected : ' . mysql_error());
}
// make foo the current db
$db_selected = mysql_select_db('foo', $link);
if (!$db_selected) {
die ('Can\'t use foo : ' . mysql_error());
}
$number=mysql_num_rows(mysql_query("SELECT `canId` FROM `cans` WHERE `date` >= DATE_SUB(NOW(), INTERVAL 1 DAY) AND `canId` = '$canNum';"));
if($number>0){
// do what you want to do
}
mysql_close($con);
请避免按照其他答案中的建议使用mysql_query ,并查看mysqli_query或PDO 。 使用PDO,您可以执行以下操作:
function isNew($canNum){
$db = new PDO();
$statement = $db->prepare('....your query... WHERE canID=:canID');
$statement->bindParam(':canID', $canNum);
$statement->execute();
if($result = $statement->fetch()){
//exists
return true;
} else {
return false;
}
}
您还将避免SQL注入。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.