-
请问,为什么无法把变量循环输入数据库中呢,是SQL语句错误还是程序嵌套问题?20
<?php $con = mysql_connect("localhost","root","5555555551"); //mysql_query("SET NAMES 'UTF-8'"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("zuobiao",$con); //选择数据库 for ($i=1;$i<=5;$i++){ $x= mysql_query("select x,y from t1 order by DrugSId asc limit 1,$i"); $rs = mysql_fetch_array($x); $cc=$rs['y'].",".$rs['x']; //echo $cc."<br>"; $url="https://maps.googleapis.com/maps/api/place/search/json?language=zh-CN&location=$cc&&radius=500&sensor=false&key=AIzaSyCxLAQfEbXSARI3UD7_Nkj0WbVvQqnQuX0"; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $body=curl_exec($curl); curl_close($curl); $place=json_decode($body,true); foreach ($place as $b){ foreach((array)$b as $c){ if(!is_array($c)) continue; $d=$c['name'].","; //echo $d; $sql=mysql_query("insert into t1(keywords) values ('$d')"); // echo $sql // or die ('SLQ Syntax error '.mysql_error()); if ($d == null){ continue;} } } } ?>
数据库结构如下
---------------------------------------
如果直接输出$d,是正常的,可以获得一串地名,但是如果插入数据库就只能获得一串地名中的一项.请问哪个地方写错了,如何修改?
为方便各位高手调试,给出1-5之内的数据
2012年8月29日 17:07
3个答案 按时间排序 按投票排序
-
采纳的答案
你是不是需要这样的功能;
1、首先根据x 和 y 到google 那边查 数据,如果查出来是多个区域[a,b,c],则更新到数据库时是a,b,c
2、因此你需要更新x 和 y的keywords功能 而不是插入,可以参考下面语句:
2.1、首先拿到所有keywords 通过“,”拼起来;
2.2、执行update
在 $cc=$rs['y'].",".$rs['x']; 定义 $xx = $rs['x']; $yy = $rs['y']; foreach ($place as $b){ $d = ""; foreach((array)$b as $c){ if(!is_array($c)) continue; if($d != "") { $d = ",".$d; } $d=$d.$c['name']; } $sql=mysql_query("update t1 set keywords = '$d' where x='$xx' and y='$yy'"); }
2012年8月29日 19:32
-
MySQL支持在一条INSERT语句中插入多条记录
建议你用
insert into t1(keywords) values ('上海'),('北京');
这种格式一次性插入2012年8月29日 18:15
-
代码看不出来。
insert那句SQL打印出来看过吗?
话说,
看代码的意思是根据坐标x,y调用google map api查出地名关键字,然后更新回去。
如果是这样的话,不应该是insert吧?我怎么觉得应该是update呢?
update t1 set keywords = '$d' where x=XXX and y=YYY
类似这样?2012年8月29日 18:02
相关推荐
局部变量是在某个程序范围内可见的变量,它们必须通过`DECLARE`语句声明,并通过`SET`或`SELECT`赋值。 ```sql DECLARE @EmpID INT; SET @EmpID = 100; ``` #### 全局变量 全局变量是SQL Server系统预定义的变量,...
在Oracle数据库中,SQL语句的编写和优化是数据库管理员和开发人员的重要技能。这份"ORACLE数据库SQL语句编写优化总结"文档很可能是对如何提高SQL查询性能、减少资源消耗以及提升系统整体效率的详细阐述。以下是根据...
总的来说,这个“数据库(T_sql语句)”资料包将为你提供一个全面的学习平台,帮助你精通SQL和T-SQL,无论是在学术研究还是职业发展中,都将大有裨益。记得动手实践,结合理论和案例,这样才能真正掌握这些知识。
在数据库管理与开发过程中,编写SQL语句是必不可少的一环。有时,我们可能会遇到需要执行非常长的SQL语句的情况。这些超长语句可能由于包含大量的条件、子查询或是数据量较大等原因而变得异常复杂。本文将围绕“SQL...
存储过程允许开发者封装多条SQL语句和事务管理,这对于处理复杂的数据库操作是很有帮助的。但当这些操作过于庞大或设计不佳时,可能导致执行效率下降。例如,一个存储过程内部的嵌套查询、循环或临时表使用,如果...
SQL语句是结构化查询语言(Structured Query Language)的简称,是用于管理和处理关系数据库的标准语言。本篇文章将深入探讨SQL语句的基本语法,包括数据定义、数据操作、实用工具、事务处理和锁定、数据库管理、...
而Recursive SQL是指在单个事务或会话中嵌套调用的SQL语句,这些语句可能互相依赖,形成递归结构。 Row Source则表示SQL执行过程中的数据源,它可以是表、视图、索引或者其他数据源。理解Row Source对于分析SQL执行...
以下是SQL语句中常见的几类错误及其解决方案: 1. **语法错误**: - 错误示例:`SELECT column FROM table` - 解决方案:缺少FROM关键字后的表名。正确语句应为`SELECT column FROM table_name`。 2. **拼写或...
SQL Server 2005 中使用公用表表达式(CTE)简化嵌套 SQL SQL Server 2005 中的公用表表达式(CTE)是一种强大的工具,可以简化嵌套的 SQL 语句,提高代码的可维护性和性能。本文将介绍 CTE 的基本概念、语法和使用...
这本"Oracle数据库SQL语句的性能优化.pdf"很可能提供了深入的指导,旨在帮助数据库管理员和开发人员理解如何写出高效、优化的SQL查询,以最大化数据库性能。 一、SQL性能优化的重要性 在大数据时代,数据库管理系统...
在数据库管理与开发过程中,SQL语句的性能优化至关重要。本文将详细介绍如何理解SQL及其执行计划,并给出具体的优化策略。通过优化SQL,可以显著提升应用程序的响应速度及整体性能。 #### SQL的基础理解 SQL...
本篇文章将详细讲解SQL数据库中常用的查询语句,特别是简单的查询,选择列表,FROM子句,以及WHERE子句的使用。 一、简单查询 简单查询由选择列表、FROM子句和WHERE子句组成,用于指定查询的列、表或视图以及搜索...
2. **SQL语句规范化**:SQL语句的大小写、空格等细微差异都可能导致解析成本增加,因为数据库会将它们视为不同的语句。因此,应当确保相同查询的一致性,避免冗余解析。 3. **避免复杂SQL**:过于复杂的SQL语句可能...
数据库是存储和管理数据的核心工具,SQL(Structured Query Language)是用于操作数据库的语言,而PL/SQL是Oracle数据库中的一种编程语言,它扩展了SQL的功能,使得开发者能够编写复杂的数据库应用。以下是对这些...
变量是程序运行中可以改变的数据,包括局部变量和系统变量等几种类型。运算符是用于连接和操作表达式的符号,包括算术运算符、比较运算符和逻辑运算符等几种类型。 函数是Transact-SQL语言中的一个重要概念,包括...
`SELECT`语句是最常用的SQL语句之一,用于从数据库中检索数据。 ##### 1. 基本语法 ```sql SELECT column_name(s) FROM table_name; ``` 其中: - `column_name(s)`:要选择的列名。 - `table_name`:指定的数据表...
在 `selectPersonLike()` 方法中,如果参数 `id`, `firstName`, `lastName` 不为 null,则相应的 WHERE 条件会被添加到 SQL 语句中。这里需要注意的是,因为匿名内部类需要访问外部的局部变量,所以这些参数必须被...