我在驗證mysql中的重複條目時出現了一些問題,而不是返回與已經縮短的記錄有關的鏈接,它創建了一個新的,任何想法爲什麼會出現這種情況?下面是代碼mysql如果不爲空查詢沒有運行
$url = get_magic_quotes_gpc() ? stripslashes(trim($_REQUEST['cf_url'])) : trim($_REQUEST['cf_url']);
function remove_http($url) {
$disallowed = array('http://', 'https://');
foreach($disallowed as $d) {
if(strpos($url, $d) === 0) {
return str_replace($d, '', $url);
}
}
return $url;
}
$id = rand(10000,99999);
$short = base_convert($id, 20, 36);
$short_url = $short;
$private_url = md5($short);
$result = mysql_query("SELECT * FROM ' . DB_TABLE . ' WHERE original_url = ".mysql_real_escape_string(remove_http($url))."");
$num_rows = mysql_num_rows($result);
if ($num_rows > 0) {
$results = mysql_query("SELECT * FROM ' . DB_TABLE . ' WHERE original_url = ".mysql_real_escape_string(remove_http($url))."");
$object = mysql_fetch_assoc($results);
echo "http://" . BASE_HREF . $object['short_url'];
} else {
mysql_query('LOCK TABLES ' . DB_TABLE . ' WRITE;');
mysql_query('INSERT INTO ' . DB_TABLE . ' (original_url, short_url, private_url, created_on, created_by) VALUES ("' .mysql_real_escape_string(remove_http($url)) . '", "' . $short_url . '", "' . $private_url . '", "' . time() . '", "' . mysql_real_escape_string($_SERVER['REMOTE_ADDR']) . '")');
mysql_query('UNLOCK TABLES');
echo "http://" . BASE_HREF . $short_url;
}
mysql_close();
感謝您的回答我只是選擇重新寫清整個PDO中的清單。現在工作正常 – 10010010001011101111