另一个小错误(可能很明显)

时间:2011-08-02 18:54:31

标签: php mysql database url phpmyadmin

我正在写一个URL缩短器。我是一个Noob,请记住;)

答案后更新#1。引发新的错误

这是我的错误:

Unknown column 'Unknown column '' in 'field list''

这是我的代码

<?php
include("db.inc.php");

function is_min($url)
{

return(preg_match("/jbgc\.me/i", $url)) ? true : false; 

}


function gen_code()
{
$charset = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';    
return substr(str_shuffle($charset), 0, 6);
}



function exists($code) {
$code = mysql_real_escape_string($code);
$code_exists = mysql_query("SELECT COUNT(`url_id`) FROM `mini_shortener` WHERE   
`code`='$code' LIMIT 1") or die(mysql_error());
return (mysql_result($code_exists, 0) == 1) ? true : false;
 }



function shorten($url, $code){
$url = mysql_real_escape_string($url);
$code = mysql_real_escape_string($code);
mysql_query("INSERT INTO `mini_shortener` (`url`,`code`) VALUES('$url', '$code')")    
 or die (mysql_error());
return $code;


}

&GT;

1 个答案:

答案 0 :(得分:3)

SELECT COUNT(`url_id`) FROM `mini_shortener` WHERE     
 `code`='$code' LIMIT 1

INSERT INTO `mini_shortener` VALUES('', '$url', '$code')

返回刻度表用于表/列名称,而不是文字。将单词/双引号中的文字(如$code)括起来,并使用后标记作为列名。或者更好,只是不要使用保留字,你可以删除后面的刻度。

另外,如果mini_shortener的第一列是AUTO_INCREMENT主键,则不要插入它并指定要插入的列,如下所示:

INSERT INTO `mini_shortener` (`url`,`code`) VALUES('$url', '$code')

MySQL Doc about object names