带有单引号的MySQL语句的PHP脚本

时间:2011-11-12 06:13:59

标签: php mysql function user-defined-functions

我正在学习PHP,MySQL并且今天遇到了这个功能

function get_director($director_id) {
global $db;
$query = 'SELECT 
        people_fullname 
   FROM
       people
   WHERE
       people_id = ' . $director_id;
$result = mysql_query($query, $db) or die(mysql_error($db));

$row = mysql_fetch_assoc($result);
extract($row);

return $people_fullname;
}

我理解功能是什么,我在学习PHP的同时创建了一些。但是这个有点复杂。我无法理解

WHERE people_id = ' . $director_id

我猜单引号结束了MySQL语句?然后它与论证联系在一起?

4 个答案:

答案 0 :(得分:1)

  

我猜单引号结束了MySQL语句?然后它与参数连接?请帮帮我。

这是正确的。

http://php.net/manual/en/language.operators.string.php

<?php
$a = "Hello ";
$b = $a . "World!"; // now $b contains "Hello World!"

$a = "Hello ";
$a .= "World!";     // now $a contains "Hello World!"
?>

编辑:WHERE子句的含义最好用psuedo解释整个语句的作用。

选择每个人的全名WHERE他们的people_id等于传递给函数的某个值。

但是,如果您正在评估这些内容并且不了解基本SQL,那么您就是在脑海中。我建议你阅读整个Tiztag PHP / MySQL教程。

http://www.tizag.com/mysqlTutorial/

答案 1 :(得分:1)

是的,你是对的,单引号结束sql字符串并与提供的参数连接。如果要打印输出值,则也是如此。

echo 'This is the director ID :'.$director_id;

答案 2 :(得分:1)

我不会将此运算符称为“SQL语句”。并且不会说它也“关闭” 对于PHP来说,它只是一个没有特别含义的字符串 引用结束了这个字符串文字,而不是SQL语句。

严格来说,这里只是一个串联,一个带变量的字符串文字。

结果是完整的SQL语句。

答案 3 :(得分:1)

。(点)用于php中的连接 如果您将32传递给$ director_id,则最终查询将为
从people_id = 32的人员中选择people_name 如果您将43传递给$ director_id,则最终查询将为
从people_id = 43的人中选择people_name
表示。(点)用于将$ director_id的值附加到单引号中的字符串中
最终的查询将传递给mysql。使用。(点)只是php中的一个方法,用于生成我们想要在mysql中执行的最终查询。