bellow是一個插入數據到表中的腳本。我已經使用strlen()函數檢查字符串的長度,如果字符串的長度低於限制但它不會停止查詢向表中添加另一行,則會返回錯誤。我怎樣才能做到這一點。非常感謝您關於php字符串長度的問題
<?php
$con=mysqli_connect("localhost","zzzz","xxxxzzz2","my_project");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
//$sql="INSERT INTO Product (product_name, product_cond, product_price, product_cat, product_region, email, phone_num)
//VALUES
//('$_POST[ProductName]','$_POST[ProductCond]','$_POST[ProductPrice]','$_POST[ProductCat]','$_POST[ProductRegion]','$_POST[Email]','$_POST[PhoneNumber]')";
$sql="INSERT INTO Product (product_name, product_cond, product_price, product_cat, product_region, email, phone_num)
VALUES
('$_POST[product_name]','$_POST[product_cond]','$_POST[product_price]','$_POST[product_cat]','$_POST[product_region]','$_POST[Email]','$_POST[PhoneNumber]')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
//here is the part in question
if (strlen($ProductName) < 10)
{
die('Error: ' . mysqli_error($sql));
}
echo "1 record added";
mysqli_close($con);
?>
移動您的插入語句___after___長度檢查....如果它在那之前,那麼它會在那之前運行 –
但是PHP ___中的長字符串測試不會___生成MySQL錯誤,因此顯示MySQLi錯誤如果strlen($ ProductName)<10沒有意義...沒有MySQLi錯誤 –
Mark是正確的,順便說一句你在哪裏給你的'$ ProductName'賦值? –