Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mySQL查询PDO_Php_Mysql_Pdo - Fatal编程技术网

Php mySQL查询PDO

Php mySQL查询PDO,php,mysql,pdo,Php,Mysql,Pdo,我正试图一步一步地转到PDO学习 我在处理数据库中的数据时遇到了一个小问题,它会给我一个唯一的ID,将CatSlugName和ImageID组合为+1 在我以前的mysql查询中,它看起来像这样,并且运行良好 <?php $ajdi=mysql_real_escape_string($_POST['kategorija']); $upit_zadnjih_pet = "SELECT * FROM kategorije WHERE kategorija_ID=

我正试图一步一步地转到PDO学习

我在处理数据库中的数据时遇到了一个小问题,它会给我一个唯一的ID,将CatSlugName和ImageID组合为+1

在我以前的mysql查询中,它看起来像这样,并且运行良好

        <?php
    $ajdi=mysql_real_escape_string($_POST['kategorija']);
    $upit_zadnjih_pet = "SELECT * FROM kategorije WHERE kategorija_ID='$ajdi' ORDER BY kategorija_ID DESC LIMIT 1";
    $ispis = mysql_query($upit_zadnjih_pet) or die(mysql_error());
    $blok_ispis1 = mysql_fetch_assoc($ispis);
    $ukupno = mysql_num_rows($ispis);
    ?>   
    <?php
    $upit_zadnjih_pet = "SELECT * FROM slike ORDER BY slika_ID DESC LIMIT 1";
    $ispis = mysql_query($upit_zadnjih_pet) or die(mysql_error());
    $blok_ispis2 = mysql_fetch_assoc($ispis);
    $ukupno = mysql_num_rows($ispis); 
    ?>   
    <?php
    $brojac = 1;
    $jedinstvenKljuc1 = $blok_ispis1['slug']; 
    $jedinstvenKljuc2 = $blok_ispis2['slika_ID'];
    $brojac = $jedinstvenKljuc2 + 1;
    $spojiKljuceve = $blok_ispis1['slug']. $brojac;
    ?>  
我需要$spojiKljuceve作为一个全局变量来插入它,但在while循环中它不起作用。我做错了什么

对于高级用户,请写一个我能理解的简单解决方案,而不是超过100000行的函数


输出结果应该是这样的:IS50,因为我没有把所有的代码都放在那里。这是pastebin代码链接:-因此所有字段都将数据正确插入数据库。只有$spojiKljuceve没有。我在控制台视图中看到了这个通知


注意:未定义的变量:C:\xampp\htdocs\inox\admin\dodaj\u sliku\u obrada.php中的spojiKljuceve,第121行

如果您想使您的开发实践现代化,那么值得考虑使用like,而不是像这样处理低级查询。如果您使用的是PDO,请使用或不使用mysql\u real\u escape\u字符串。您需要去掉第一行,当没有mysql\u*连接时,mysql\u real\u escape\u字符串返回false,因此您有效地清除了变量。如果没有成功,可能意味着出现以下错误消息。不清楚您的代码的其余部分是否以任何方式实际使用PDO。只需复制并粘贴$stmt和->获取就行了。首先看一个教程,比如那里没有PDO…你仍然在使用mysql_*..所以也许你应该在你尝试使用PDO的地方发布代码。在问题中放一个所有相关代码的最小示例。不是一个粘贴库,也不是在你问题的评论或答案中。
<?php
$ajdi=mysql_real_escape_string($_POST['kategorija']);
$sql1 = "SELECT * FROM kategorije WHERE kategorija_ID='$ajdi' ORDER BY kategorija_ID DESC LIMIT 1";
$sql2 = "SELECT * FROM slike ORDER BY slika_ID DESC LIMIT 1";
    while ($red = $stmt->fetch()) {
    $brojac = 1;
    $jedinstvenKljuc1 = $red['slug']; 
    $jedinstvenKljuc2 = $red['slika_ID'];
    $brojac = $jedinstvenKljuc2 + 1;
    $spojiKljuceve = $red['slug']. $brojac;
}

?>