Php 将数据插入表中不需要';我不工作,为什么?

Php 将数据插入表中不需要';我不工作,为什么?,php,mysql,Php,Mysql,在完成第一条$sql语句后,我想将数据插入表sortiranje1。由于某些原因,表sortiranje1中没有插入记录。也没有错误 $sql = "SELECT * FROM komentari WHERE IDteksta=$b and Tip='vest' and Dodaj='da'"; $result = mysqli_query($conn, $sql); $zbir=0; while($row = mysqli_fetch_assoc($result)) { $zbir=$

在完成第一条$sql语句后,我想将数据插入表sortiranje1。由于某些原因,表sortiranje1中没有插入记录。也没有错误

$sql = "SELECT * FROM komentari WHERE IDteksta=$b and Tip='vest' and Dodaj='da'";
$result = mysqli_query($conn, $sql);
$zbir=0;
while($row = mysqli_fetch_assoc($result)) {
    $zbir=$zbir+$row['Rezultat'];
}
//echo "zbir lajkova je " . $zbir . " a indeks vesti je " . $b; 



$upis = "INSERT INTO sortiranje1 (IDteksta)             
    VALUES ('$b')";
另外,正如你们所看到的,我有那个var$b的回声,它是可以的,但我不知道为什么它并没有插入到表中!以下是我的表代码:

$db_selected = mysqli_select_db($conn,'neprodaji');
$sql = "CREATE TABLE IF NOT EXISTS sortiranje1 (
    ID INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    IDteksta INT(9) NOT NULL,
    Rezultat INT(9) NOT NULL)";

IDteksta
是一个整数字段,但通过使用引号,可以将其转换为字符串。只需删除引号:

INSERT INTO sortiranje1 (IDteksta)             
VALUES ($b)

您所面临的问题是因为您没有执行insert查询,所以请在insert查询之后写这一行:-

mysqli_query($conn, $upis);

注意:-如果要基于此插入查询进行一些检查(条件),请将其分配给变量,如
$result=mysqli\u query($conn,$upis)
并使用该变量进行检查。它将是布尔类型。

尝试
echo$upis
并直接在数据库中执行SQL。这应该会告诉您是否发生错误。您从不调用
mysqli\u查询($conn,$upis)
在哪里执行插入查询?您编写了插入查询,但没有执行它。通过调用
mysqli\u query($conn,$upis)
在insert queryTY之后执行它,我相信我实现了这一行!现在请向我解释如何评价你的评论,因为我在这里发布评论是一个新手,我读了很多,但这是我的第一篇介绍:)。又来了!MySQL将自动将字符串转换为数字。@Barmar不,如果你使用引号就不会。哇,我不知道。这对mysql来说是相当愚蠢的。还有漂亮的下一票,兄弟!它并不比Javascript、Perl和PHP等脚本语言更愚蠢,它们可以根据需要在字符串和数字之间自动转换。这是一个愚蠢的比较,因为MySQL有严格的数据类型,而PHP或Javascript没有。在PHP中,您可以将字符串保存在只包含整数的变量中,但请尝试将字符串“nuts”保存到mysql整数字段中……是的,我错过了。我已经看到你的评论了,现在一切都好了,再次!当我达到15个声誉,我会投票给你的答案,就像我说的,我很了解这里,虽然我读了很多这个论坛!关于……但你可以把它标记为答案。让其他人从中得到帮助。因此,标记作为答案。谢谢:)