这是一个存储过程吗?

时间:2009-09-07 11:32:44

标签: php mysql stored-procedures

PHP / mysql中的这段代码是否被视为存储过程?

$sql = 'SELECT username FROM user WHERE username = ? AND passwordHash = ?';
$result = $db->query($sql, array($_POST['username'], $passwordHash));

5 个答案:

答案 0 :(得分:6)

没有。这只是一个查询。在其他东西(在本例中为PHP)中进行硬编码的事实并不能使其成为存储过程。

存储过程存储在内部数据库中。另请参阅the manual on stored routines

答案 1 :(得分:4)

存储过程是存储在SQL服务器上的一段SQL。

wikipedia describes it

  

存储过程是子例程   可用于访问的应用程序   关系数据库系统。

     

存储过程(有时称为   proc,sproc,StoPro或SP)   实际存储在数据库中的数据   字典。

如果您正在使用MySQL数据库,您可能需要查看本手册的这一部分:Chapter 19. Stored Programs and Views


在这里,您的SQL代码不存储在SQL服务器上:它直接写在您的PHP脚本中。

所以,不,这不是一个存储过程 - 它是一个简单的SQL查询。

答案 2 :(得分:2)

没有。它只是在数据库上简单执行SQL。没有存储过程或方法调用。

答案 3 :(得分:2)

不是我能看到的。

这只是一个带参数的SQL Select语句。

关于存储例程的MySQL参考

http://dev.mysql.com/doc/refman/5.1/en/stored-routines.html

答案 4 :(得分:2)

不是。存储过程如下所示:

 CREATE PROCEDURE simpleproc (OUT param1 INT)
 BEGIN
   SELECT COUNT(*) INTO param1 FROM t;
 END

(来自mysql文档)