首頁  >  文章  >  後端開發  >  $table = '`'.DB_pre.$table.'`';这儿为什么要用到反引号啊?

$table = '`'.DB_pre.$table.'`';这儿为什么要用到反引号啊?

WBOY
WBOY原創
2016-06-23 13:44:351194瀏覽

$table = '`'.DB_pre.$table.'`';这儿为什么要用到反引号啊?


回复讨论(解决方案)

因为你加了一个``符号,为了让变量看起来像字符串才加的。

那是数据表名吧

$table = '`'.DB_pre.$table.'`'
反撇号是 mysql 的名称转义符
当你使用 mysql 的保留字作为字段名或表名时,为了防止歧义,要用一对反撇号将其括起
不是保留字就不用转义了
不过当使用程序产生 mysql 指令时,程序并不可能预知动态构建的名字是否是保留字(检查起来也怪麻烦的)所以写程序时都给字段名和表名加上转义

防止??字??的。

例如你的表名是index
 select * form index ?出?。因?index是sql??字。

所以需要?成
select * from  `index `

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn