如何从多维sql数据库中获取数据?

时间:2015-11-07 20:02:42

标签: php mysql sql-server database

我有一个数据库,在这个例子中我称之为datenbank ...在这个数据库中我有一个名为“artikel”的表。 我现在有一个号码,想要在“idartikel”列中搜索我的表“artikel”这个号码;一旦找到了正确的行,我想比较另一列名为kategorie_idkategorie的该行的条目,而不是另一列具有特定值的列;

为此,我开始连接到我的数据库     

error_reporting(E_ALL);
define ( 'MYSQL_HOST',      'localhost' );
define ( 'MYSQL_BENUTZER',  'root' );
define ( 'MYSQL_KENNWORT',  '' );

define ( 'MYSQL_DATENBANK', 'datenbank' );

    $db_link = mysqli_connect (
                 MYSQL_HOST,
                 MYSQL_BENUTZER,
                 MYSQL_KENNWORT,
                 MYSQL_DATENBANK
                );

    if ($db_link === False) {
        die("<p> Error </p>");
    }


?>

Diese连接工作;现在我想搜索我的数字,在这种情况下55065在表artikel和列idartikel;一旦我找到了行,我想要输入列kategorie_idkategorie并将其与值1592进行比较

<?php


require_once ('configdatenbank.php');
$id=55065; //Diese Nummer möchte ich in meiner Tabelle artikel suchen


$wert1 = 1592;


$sql = "SELECT kategorie_idkategorie FROM artikel WHERE idartikel=55065";
$query = mysql_query($sql);
$row = mysql_fetch_row($query);
if($row['kategorie_idkategorie'] == $wert1){
  echo 'equal';
}else{
 echo 'not equal';
}

?> 

为了更好地理解,我制作了表格条目的截图;

http://www.bilder-upload.eu/show.php?file=bed499-1446912607.png

如您所见,列idartikel的值为55065; 现在我想检查这一行在colummn kategorie_idkategorie中的值是否为1592,这显然是正确的;所以我应该得到“平等”的信息;

然而,这样做时会出现几个错误,并且还会收到“不相等”的消息

如果查看数据库,您会看到每列的三个不同部分: Funktion,Null和Wert; 这是我一般指向该列的问题,而不是专门针对该列的“wert”部分吗?

或者在这种情况下有什么问题?

非常感谢!! :)

编辑:我的新版本......但它仍无效

<?php


require_once ('configdatenbank.php');
$id=55065;


$wert1 = 1592;

// MySQL-Query zum holen des wertes aus der DB
$sql = "SELECT kategorie_idkategorie FROM artikel WHERE idartikel=55065";
$query = mysqli_query($sql);
$row = mysqli_fetch_assoc($query);

if($row['kategorie_idkategorie'] == $wert1){
  echo 'werte sind gleich';
}else{
 echo 'werte sind nicht gleich';
}

?> 

1 个答案:

答案 0 :(得分:0)

我必须编辑,因为jeroen指出你的连接是mysqli。多数民众赞成正确,你不能混合两者,所以从mysql升级到mysqli:

要修复代码,请使用fetch_assoc而不是fetch_row,以便按键索引。将代码中的三行更改为:

$sql = "SELECT kategorie_idkategorie FROM artikel WHERE idartikel=55065";
$query = mysqli_query($db_link, $sql);
$row = mysqli_fetch_assoc($query);