【问题标题】:How to get data from a multidimensional sql database?如何从多维sql数据库中获取数据?
【发布时间】:2015-11-07 20:02:41
【问题描述】:

我有一个数据库,在这个例子中我称之为 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>");
    }


?>

模具连接工作;现在我想在 artikel 表和 idartikel 列中搜索我的数字,在本例中为 55065;找到行后,我想要列 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; 现在我想检查这一行在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';
}

?> 

【问题讨论】:

  • 您将mysql_*mysqli_* 混合在一起。这行不通。

标签: php mysql sql-server database


【解决方案1】:

我不得不编辑,因为 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);

【讨论】:

  • 对不起,我真的是个初学者;有人可以帮助我确切地告诉我我需要更换它才能工作吗?不幸的是,我现在正在尝试一整天...... :(
  • 警告:mysqli_query() 需要至少 2 个参数,其中 1 个在 C:\xampp\htdocs\Amazon\test.php 第 12 行给出 警告:mysqli_fetch_assoc() 需要参数 1 为 mysqli_result,null第 13 行 C:\xampp\htdocs\test.php 中给出的不等于
  • 它仍然不起作用..... :(你知道为什么吗?我在我的问题中将新脚本作为更新发布... :)
  • 没错,看我的编辑。这是 $db_link 连接。
  • 是的....!!!它的作品你是最好的... :) :) :) 我能再问你一件事吗?如果您查看图片,您会看到“aktiv”行,它是 J 或 N...我可以像使用其他列一样使用它吗?只是比较字符串 'J' 而不是数字 1592 或者如何在那种情况下我会这样做吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-21
  • 1970-01-01
  • 2019-11-04
  • 2016-02-13
相关资源
最近更新 更多