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

标签 php mysql database url phpmyadmin

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

在回答 #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;


}

?>

最佳答案

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

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

反引号用于表/列名称,而不是文字。将文字(如 $code)括在单/双引号中,并使用反引号作为列名称。或者更好的是,不要使用保留字,您可以删除后面的勾号。

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

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

MySQL Doc about object names

关于php - 另一个小错误(可能很明显),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6917090/

相关文章:

mysql - 如何计算行但基于另一列?

java - Android 应用程序带有数据库以便人们可以共享数据?

php - 在 ubuntu 14.04 中安装 libapache2-mod-fastcgi,包不可用

php - HHVM Hack 源代码到纯 PHP

php - 选择下一个现有的qID

php - MySQL查询从多个表中选择,显示全部来自table1 +来自table2的一些数据

database - 比较内存缓冲区

mysql - Visual Studio 和 MySQL 之间的连接问题

php - 使用产品广告 API 获取亚马逊评级星级和评级计数

php - 如何在 netbeans 中配置 php 使其指向 "opt/lampp/bin/php"而不是 "/usr/bin/php"?