在将数据提交到我的服务器后,正在向我的MySQL行添加空列。我将它输入一行但所有行至少得到一个空列。我怎么能阻止这个?这是一个例子。任何说0bytes都是空行。
到目前为止我的PHP代码(当我弄清楚这一部分时会被挖空)
<?php
$servername = ""; //Taken out for stack overflow question
$username = ""; //Taken out for stack overflow question
$password = ""; //Taken out for stack overflow question
$dbname = ""; //Taken out for stack overflow question
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn)
{
echo 'Could not connect';
}
else
{
if (!empty($_FILES['cf'] && $_POST['category']))
{
/*foreach($_FILES['cf']['name'] as $key => $name)
{
if ($_FILES['cf']['error'][$key] == 0)
{
mysqli_query($conn, "");
}
}*/
$category = $_POST['category'];
$cf = $_FILES['cf'];
mysqli_query($conn, "INSERT INTO adDatabase(".$category.") VALUES(8)");
}
else
{
echo 'Empty file';
}
}
mysqli_close($conn);
?>
我想阻止那些空行。在我从服务器检索它们的恢复php文件中,我将内容包装在<img>
标记中,以便从这些行中获取的任何内容都显示为图像。我不希望损坏的图像或空框架与其他广告一起显示。我怎么能阻止这个?
答案 0 :(得分:0)
您是否尝试将类别的内容打印到控制台?是否有可能从源回发有效类别和空类别?
您还可以尝试使用针对类别的nul检查来封装sql调用。这可能会在插入之前捕获null。
$category = $_POST['category'];
$cf = $_FILES['cf'];
if($category != NULL)
{
mysqli_query($conn, "INSERT INTO adDatabase(".$category.") VALUES(8)");
}
最后,您可以将表中的一列设置为不允许空值。这将允许您放置一个try catch块并处理空数据
Try {
mysqli_query($conn, "INSERT INTO adDatabase(".$category.") VALUES(8)");
}
catch (exception ex)
{
// do nothing!
}
答案 1 :(得分:0)