select 使用限制时出现未声明变量错误

Error undeclared variable when select using limit

我的脚本 select MySQL 有限制错误。它说

Gagal ambil data:Undeclared variable: $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";