使用limit选择未声明变量时出错


Error undeclared variable when select using limit

我有一个错误在我的脚本选择MySQL与限制。它说

未声明变量:$st

这是我的脚本:

include'../konekdb.php';
if(empty($_GET[start]))
{
$st="0";
}
else 
{
	$st=$_GET[start];
}
$query = 'SELECT * FROM pelanggan LIMIT $st,5';
$ambildata = mysql_query($query);
if(!$ambildata)
{
	die('Gagal ambil data:'.mysql_error());
}
include'tabel_pelanggan.php';
	
mysql_free_result($ambildata);
mysql_close($koneksi);
				
$query2 = mysql_query("SELECT * FROM pelanggan");
$num = mysql_num_rows($query2);
$hal = ceil($num/5);
echo "Halaman :";
for($i=1;$i<=$hal;$i++){
$page=$i-1;
echo "[][<a href=$_SERVER[PHP_SELF]?start=$page>$i</a>][]";
}

你能帮我吗?

您的$_GET有一个错误,您缺少键名周围的引号。

你的$_GET

$st=$_GET[start];

它应该是什么,

$st = $_GET['start'];

编辑1

你现在不应该使用MySQL,因为它已被弃用。要么开始使用MySQLiPDO,您还应该查看准备好的语句。

编辑2

也别忘了修改你的if statement

if(empty($_GET[start]))

if(empty($_GET['start']))

编辑3

你的查询需要使用双引号,或者如果你想使用单引号,你需要关闭单引号,然后添加变量。

,

$query = 'SELECT * FROM pelanggan LIMIT $st,5';

$query = 'SELECT * FROM pelanggan LIMIT ' . $st . ',5';

$query = "SELECT * FROM pelanggan LIMIT {$st},5";