php查询数据库返回的数组为[ID,NAME,ID,NAME],单独提取id怎么提


我有两个主要的MySQL表(配置文件和聯系人)其中有许多补充表(以prm_为前缀)。可通过PHP访问和操纵它们

在这种情况下,我要查询个人档案表在其中检索所有者ID和饲养者ID。然后将在保留有"所有者和饲养者"信息的联系表中引用该联系表。

在这里我在有关联接和别名的另一个问题上得到了很大的帮助还配備了以下查询。不幸的是在实际回显结果方面,我遇到了巨大的困难每个处理"自我联接"和"别名"的站点都提供了可爱的查询示例-但随后跳至"以及此输出等"。

 
与此耦合的是以下PHP:
 
所有详细信息但联系方式(性别,肤色等)除外 $ owner 和 $ breeder 变量为空。
为我解决此问题提供的任何帮助将大量
编辑:我最后的工作查询:
 
然后我可以通过以下方式输出:



在这种情况下,您不能使用

如果结果的两个或更多列具有相同的字段名称则
最后一列将优先。要访问
相同名称的其他列必须使用该列的数字索引或为该列创建
别名。对于别名列您无法使用原始列名訪问


 
因此,您可以使用 AS 在您的SQL查询中为双打的行设置其他名称或使用编号索引访问它们。
然后可能看起来像这样:

在您的计算机中使用 AS 查询

 
在您的标准SQL查询中结果集中的列的命名方式与其值所来自的列相同。有时由于命名冲突,这可能是一个问题在查询中使用 AS 命令,您可以在结果集中重命名列:
 
另一种方法是使用列索引而不是其名称查看以下查询:

要使用列索引,您需要使用 mysql_fetch_row 或 mysql_fetch_assoc 函数它提供了一個关联数组,一个数字数组或两者都提供(" both"都是标准的)

有些时候在执行数据库的INSERT操作后需要知道其产生的ID(我用的MySQL主键都是设的AUTO_INCREMENT,执行插入操作的时候不用指定ID的值而由数据库自行产生)这时候就可以使用PHP的函数mysql_insert_id()直接获嘚这个ID,非常方便

但是有一点,如果在INSERT语句里面明确指出了具有AUTO_INCREMENT属性的ID列的值那么函数将返回0,因为该ID值是由用户指定的不是由数據库自动产生的。

PHP手册对该函数的描述如下:

参数connection可选。规定 MySQL 连接如果未规定,则使用上一个连接

如果需要保存该值以后使用,要確保在产生了值的查询之后立即调用 mysql_insert_id()


  

0。如果需要保存该值以后使用要确保在产生了值的查询之后立即调用 mysql_insert_id()。

MySQL也提供了这么一个同样功能的API它总是保存着最新产生的AUTO_INCREMENT值,并且不会在查询语句之间被重置也就是说,在执行INSERT操作后执行SELECT、UPDATE、DELETE语句都不会影响该API的返回值。

夲文地址:欢迎访问原出处。

就行了底下放循环的时候在取字段不久好了吗


TA获得超过200个认可

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

我要回帖

 

随机推荐