0 0

请问,为什么无法把变量循环输入数据库中呢,是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之内的数据


PHP 
2012年8月29日 17:07
  • 大小: 48.5 KB
  • 大小: 20.6 KB

3个答案 按时间排序 按投票排序

0 0

采纳的答案

你是不是需要这样的功能;

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
0 0

MySQL支持在一条INSERT语句中插入多条记录
建议你用
insert into t1(keywords) values ('上海'),('北京');
这种格式一次性插入  

2012年8月29日 18:15
0 0

代码看不出来。

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

相关推荐

    SQL server 语句大全

    局部变量是在某个程序范围内可见的变量,它们必须通过`DECLARE`语句声明,并通过`SET`或`SELECT`赋值。 ```sql DECLARE @EmpID INT; SET @EmpID = 100; ``` #### 全局变量 全局变量是SQL Server系统预定义的变量,...

    ORACLE数据库SQL语句编写优化总结.rar

    在Oracle数据库中,SQL语句的编写和优化是数据库管理员和开发人员的重要技能。这份"ORACLE数据库SQL语句编写优化总结"文档很可能是对如何提高SQL查询性能、减少资源消耗以及提升系统整体效率的详细阐述。以下是根据...

    数据库(T_sql语句)

    总的来说,这个“数据库(T_sql语句)”资料包将为你提供一个全面的学习平台,帮助你精通SQL和T-SQL,无论是在学术研究还是职业发展中,都将大有裨益。记得动手实践,结合理论和案例,这样才能真正掌握这些知识。

    SQL 执行超长语句

    在数据库管理与开发过程中,编写SQL语句是必不可少的一环。有时,我们可能会遇到需要执行非常长的SQL语句的情况。这些超长语句可能由于包含大量的条件、子查询或是数据量较大等原因而变得异常复杂。本文将围绕“SQL...

    SQL Server中存储过程比直接运行SQL语句慢的原因

    存储过程允许开发者封装多条SQL语句和事务管理,这对于处理复杂的数据库操作是很有帮助的。但当这些操作过于庞大或设计不佳时,可能导致执行效率下降。例如,一个存储过程内部的嵌套查询、循环或临时表使用,如果...

    SQL语句语法

    SQL语句是结构化查询语言(Structured Query Language)的简称,是用于管理和处理关系数据库的标准语言。本篇文章将深入探讨SQL语句的基本语法,包括数据定义、数据操作、实用工具、事务处理和锁定、数据库管理、...

    通过分析SQL语句的执行计划优化SQL.doc

    而Recursive SQL是指在单个事务或会话中嵌套调用的SQL语句,这些语句可能互相依赖,形成递归结构。 Row Source则表示SQL执行过程中的数据源,它可以是表、视图、索引或者其他数据源。理解Row Source对于分析SQL执行...

    SQL语句常见错误

    以下是SQL语句中常见的几类错误及其解决方案: 1. **语法错误**: - 错误示例:`SELECT column FROM table` - 解决方案:缺少FROM关键字后的表名。正确语句应为`SELECT column FROM table_name`。 2. **拼写或...

    [sql server] SQL Server2005杂谈(1):使用公用表表达式(CTE)简化嵌套SQL

    SQL Server 2005 中使用公用表表达式(CTE)简化嵌套 SQL SQL Server 2005 中的公用表表达式(CTE)是一种强大的工具,可以简化嵌套的 SQL 语句,提高代码的可维护性和性能。本文将介绍 CTE 的基本概念、语法和使用...

    Oracle数据库SQL语句的性能优化.pdf

    这本"Oracle数据库SQL语句的性能优化.pdf"很可能提供了深入的指导,旨在帮助数据库管理员和开发人员理解如何写出高效、优化的SQL查询,以最大化数据库性能。 一、SQL性能优化的重要性 在大数据时代,数据库管理系统...

    通过分析SQL语句的执行计划优化SQL

    在数据库管理与开发过程中,SQL语句的性能优化至关重要。本文将详细介绍如何理解SQL及其执行计划,并给出具体的优化策略。通过优化SQL,可以显著提升应用程序的响应速度及整体性能。 #### SQL的基础理解 SQL...

    sql数据库常用的查询语句

    本篇文章将详细讲解SQL数据库中常用的查询语句,特别是简单的查询,选择列表,FROM子句,以及WHERE子句的使用。 一、简单查询 简单查询由选择列表、FROM子句和WHERE子句组成,用于指定查询的列、表或视图以及搜索...

    从SQL语句的角度提高数据库的访问性能.docx

    2. **SQL语句规范化**:SQL语句的大小写、空格等细微差异都可能导致解析成本增加,因为数据库会将它们视为不同的语句。因此,应当确保相同查询的一致性,避免冗余解析。 3. **避免复杂SQL**:过于复杂的SQL语句可能...

    数据库学习SQL+PL/SQL(ppt)

    数据库是存储和管理数据的核心工具,SQL(Structured Query Language)是用于操作数据库的语言,而PL/SQL是Oracle数据库中的一种编程语言,它扩展了SQL的功能,使得开发者能够编写复杂的数据库应用。以下是对这些...

    数据库应用技术:第10章_Transact-SQL程序设计.ppt

    变量是程序运行中可以改变的数据,包括局部变量和系统变量等几种类型。运算符是用于连接和操作表达式的符号,包括算术运算符、比较运算符和逻辑运算符等几种类型。 函数是Transact-SQL语言中的一个重要概念,包括...

    sql语句的基本介绍和用法

    `SELECT`语句是最常用的SQL语句之一,用于从数据库中检索数据。 ##### 1. 基本语法 ```sql SELECT column_name(s) FROM table_name; ``` 其中: - `column_name(s)`:要选择的列名。 - `table_name`:指定的数据表...

    MyBatis 3 _ SQL 语句构建器1

    在 `selectPersonLike()` 方法中,如果参数 `id`, `firstName`, `lastName` 不为 null,则相应的 WHERE 条件会被添加到 SQL 语句中。这里需要注意的是,因为匿名内部类需要访问外部的局部变量,所以这些参数必须被...

Global site tag (gtag.js) - Google Analytics