基本示例
下面的查询语句用来检索给定商品的型号:
理解基本示例
这使得 $db 对象在你的代码内可用。($db 对象用来和数据库对话)。
这将指定你想运行的 SQL 查询语句。你可以参考结构表文档来确定特定的字段和表格,或者直接查看数据库结构。
TABLE_PRODUCTS 常量用于支持表格前缀,因为常量会按照位于 /includes/filenames.php 脚本的逻辑以及你的 /includes/configure.php 文件中的 DB_PREFIX 值,自动包含前缀。
注意::productID: 是一个占位符,它将由下一行代码处理:
这实质上占据了前一行(需要运行的查询语句) $sql 变量内容,并且把所有 :productID: 出现的地方用 $theProductID 的值代替,首先要确保 $theProductID 是一个整型的数值。(这是出于安全原因,这样没有人可以对你的脚本进行 SQL 注入)除了 integer 以外的其它 bindVars 数据类型在下面列出。
这行运行了事实的查询,它的运行结果被保存在一个名为 $result 的数据库对象。
这将检查,从查询语句返回是否有超过0条记录。如果是,型号的编号将会在屏幕上打印。如果不是,将显示一条信息。
在多个记录中循环的例子
一个列出你数据库全部货币,同时带有现在配置汇率的简单例子:
理解循环例子
查看之前的描述。
将要被运行的 SQL 查询语句。解释见前面的例子。
注意:在这没有使用 bindVars(),因为这个查询语句不需要参数作为选择标准。
执行查询语句 - 和之前的例子一样。
检查看我们是否有任何的结果。
这开始在从数据库中返回结果循环。
这将简单把检索到的数据输出到屏幕。注意通过 $result->field['字段名'] 来引用各个字段。
这告诉它跳到查询结果的下一个记录,然后回到循环和输出。。。重复一直到 while 条件符合 EOF(文件的结尾,查询结果的结尾)。
如果 IF 语句失败,意味着没有返回结果,然后我们显示一条信息。
找出插入记录的编号
当你运行一条带有 INSERT 语句的查询的时候,你可以通过引用 $db->Insert_ID() 来找出你刚插入的新记录的编号,就像这样:
bindVars 数据类型
bindVars() 参数可以使用以下的数据类型。实践中前四种使用最多。
- integer - 确保提供的数据是一个整型
- string - 确保提供的数据是一个字符串,同时给它加引号
- noquotestring - 确保提供的数据是一个字符串,但不添加引号
- float - 确保提供的数据是一个小数,同时确保一个空白的字符串被转换成0
- currency - 类似字符串
- date - 类似字符串
- enum - 和 MySql enum 类型类似:
- regexp - 检查提供的参数被格式成一个正则表达式