在不存在匹配行的情况下对下表运行查询时,使用PHP mysql_num_rows()将返回"1“。
经过测试,我发现这个问题是在查询中使用SUM()函数时出现的。如果我从查询中取出SUM(),mysql_num_rows()会像它应该返回的那样返回"0“。
有没有其他东西我应该用来代替mysql_num_rows()来查询表中是否有匹配的行?
表:
name | students_money | grade
George | 5 | A
Bill | 10 | A
Dan | 7 | A
代码:
$sql = "SELECT SUM(students_money) AS
我试图从MySql中的一个表中检索一个电子邮件地址,使用$keyword (关键字可以是问题字段中的任何内容)来标识行。我在下面的查询中成功地找到了我需要的行,但它返回整个行,如何将电子邮件从行中取出并存储为$email
查询:
$result = mysql_query("SELECT * FROM ask WHERE date = '$keyword' order by ask_id")
or die(mysql_error());
表:
\x{e76f}\x{e76f}\ ask_id \x{e76f}\x{e76f}=
我正在MySQL 4.0.30上运行一个非常基本的子查询。
我的目标是为任何在特定数据库上拥有授权的用户从mysql.user表中获得用户权限,如mysql.db表中所述。该查询如下所示:
mysql> select * from mysql.user where User IN
(select User from mysql.db where Db='db_name')\G
正如您所看到的,它非常基本,并且遵循。但是,当我执行该操作时,它会出现以下响应错误:
ERROR 1064: You have an error in your SQL syntax. C
谁能告诉我从mysql db表中删除值的正确查询,在我的例子中,表名和id是从用户那里接受的,而行是根据id.This is my query来删除的。
sprintf(Query,"DELETE FROM ('%s') where id = (%d)",tb1,idt1) ;
/*table name is in form of string and id is int */
mysql_query(conn,Query);
我的数据库中目前有2个mysql表
Film和Film_Ratings_Report
电影的主键是filmid,它用于标识Film_Ratings_Report表中的电影分级。
我想知道是否有可能只使用MYSQL查询来搜索评级表,并收集符合特定标准的所有电影if,然后使用选定的if从电影表中获取电影标题。下面是我正在使用的MYSQL查询,它不起作用:
SELECT *
FROM film
UNION SELECT filmid
FROM film_rating_report
WHERE rating = 'GE'
LIMIT 0,0
基本上,我有一个类似如下的mysql查询:
mysql_query("SELECT n.title, v.value FROM posts n INNER JOIN votes v ON n.id = v.id");
我需要做的是从posts表中获取标题,并从votes表中获取当前投票值。
目前,除非发生投票,否则投票不会存储到投票表中。所以所有投票为0的帖子都不在投票表中。
这会导致错误,它试图获取标题和投票值,其中帖子id =投票值id。如果投票表中没有任何记录,那么value应该返回NULL或0,但是目前整个查询返回null,所以我甚至不能返回标题。
如何在一个查询中解决
如果您在表1中有需要用来为表1中返回的每一行返回表2中的数据的数据。在PHP中使用一组查询,其中一个嵌入到另一个的while循环中,还是在查询中使用一个SQL函数,哪个更有效?
例如:
$qry = mysql_query(SELECT date FROM table1)
while($res = mysql_fetch_array($qry))
{
$qry = mysql_query("SELECT name FROM table2 WHERE date=$res['date']")
}
或者作为在查询中从table1返回Id的函数来完成。
在选择查询mysql数据库时,我使用了,如下所示
$query=mysql_real_escape_string($_GET['query']);
$query_for_result=mysql_query("SELECT DISTINCT *
FROM vendor
LEFT JOIN branches ON branches.vendor_id = vendor.vendor_id
WHERE
(vendor.name LIKE '%".$query."%'
OR vendor.description LIKE '%"
我有一个带有自动递增整数主键的MySQL表.我希望根据程序中内存中的整数数组从表中获取一组行。数组的范围从少量到大约1000项。
获得行的最有效的查询语法是什么?
我能想到几个:
“从id IN (1,2,3,4,5)的表中选择*”(这是我现在要做的) "SELECT * FROM该表,其中id =1 OR id =2 OR id =3“的多个查询形式为”SELECT*now= 1“。可能对查询缓存最友好,但由于有大量的查询解析而代价高昂。A联合,例如"SELECT * FROM the cache其中id =1 union SELECT * FROM cache其中id =2
我的场景如下(在MySQL中)我有一个表,即表1,它有两列:
userID,column_acess
表2中列出了col1、col2、col3等列。
现在,我想要做的是使用pymySQL查询表1中允许特定userID访问的列,通过检查列,访问字段(它将包含tabl2中的列的逗号分隔列表),并在另一个pymySQL查询(适用于table2)中使用该结果,以实际从允许用户访问的相应列中获取数据。
所以从本质上讲,我喜欢这样的东西:
Select (Select column_acess from tabl1 where user_ID='123') from table2
因此,内
我有两个表,称为“一”和“二”,它们都是相同的,表“一”有一些不在表“二”中的in。但是当我运行这个mysql查询时,我无法得到那些不匹配的值.
select count(bene) from one where bene not in (select bene from two);
结果是零。那么,如何从表1中得到表2中没有的非匹配值呢?
我正在开发一个Microsoft项目,它连接到两个数据库,一个是托管在Azure中的server,另一个是托管在Linux服务器上的MySql。
以我的形式,我试图将数据从MySQL导入到Azure服务器。
我已经成功地连接到数据库并将值插入到数据库中。
From MySql /Linux ---- INTO ----> Azure/SQL
通过查询和我的代码手动插入。我的表单上的代码实际上是运行一个SQL查询,以便从表MySQL中选择到Server数据库中。
我有一个主键,它是目标表中的唯一标识符(guid)。当然,这不能是空