簡體   English   中英

PHP的SQL查詢無法正常工作

[英]php sql query not working

好的,我的插入查詢不適用於我的服務器。 這是我正在運行的代碼:

<?php
$name = $_GET['name'];
$database_servidor = "localhost";
$database_usuario = "username";
$database_pass = "pass";
$database_nombre = "table";
$conexion = mysql_connect($database_servidor, $database_usuario, $database_pass);
mysql_select_db($database_nombre, $conexion);
$query = "INSERT INTO `nombre`(`card`) VALUES (`$name`)";
echo $query;
$sql = mysql_query($query) or die (mysql_error());
?>

結果如下:

http://santirivera92.co.cc/insert.php?name=Santiago%20Rivera

我究竟做錯了什么?

您正在使用反引號而不是$name數據周圍的引號。 這是我的操作方法(添加轉義以防止SQL注入):

$query = sprintf('INSERT INTO `nombre`(`card`) VALUES ("%s")',
                 mysql_real_escape_string($name));
$query = 'INSERT INTO `nombre`(`card`) VALUES ("' . $name . '")';

您需要在查詢中的字符串值兩邊加上雙引號。

也不要忽略EmilVikström關於mysql_real_escape_string或准備好的語句(搜索mysqli)的評論。 因為在我的示例中,如果名稱包含雙引號,則會中斷查詢,因此必須對字符串中的雙引號進行轉義!

您實際上是在打印查詢,而不是從數據庫中打印結果行。 您需要使用mysql_result()來獲取數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM