选择Where not nothing result

时间:2013-11-13 22:47:34

标签: php sql select where

我想从记录中选择一个字段值,其中记录中的另一个值与我的指定值匹配。

“SKU”是独一无二的,它不是PK,但它是独一无二的。我只从表中选择一个字段(代码),因此变量$ gemCode应该只包含该1个值。但是在回声上,它输出的内容与下面的代码不同,或者如果我指定字段“$ gemCode ['Code'],它只会喷出”资源ID#8“,这是我以前从未见过的。

$gemCode = mysql_query("SELECT Code FROM stock WHERE SKU = 'TN-YKJI-ESWB'");

        echo "Gem Code: ".$gemCode."<br>";

此代码处于循环中,对于将从中获取SKU值的文件的每一行。虽然代码中没有任何循环(从文件中获取的变量等),但它确实给出了输出,“资源ID#8”数字从8开始每个循环上升:

Gem Code: Resource id #8
Gem Code: Resource id #9
Gem Code: Resource id #10
Gem Code: Resource id #11
Gem Code: Resource id #12
Gem Code: Resource id #13
Gem Code: Resource id #14
Gem Code: Resource id #15

我遇到的问题是,我的表格中的数据在它们之后有空格,所以需要“LIKE'%value%'”,虽然我已经检查过并且有问题的值没有这个,所以它不像我正在寻找技术上不存在的价值观。

还应该提一下我的确有:

$conn = mysql_connect('localhost', 'root', '');         
mysql_select_db('amazondb', $conn);

我真的很难过,我认为这只是一个简单的选择。

非常感谢任何帮助,谢谢-Tom

3 个答案:

答案 0 :(得分:0)

如果你想要数据库结果,你需要使用mysql_fetch_assoc($ gemCode)。

$gemCode = mysql_query("SELECT Code FROM stock WHERE SKU = 'TN-YKJI-ESWB'");
$gemArr = mysql_fetch_assoc($gemCode);

print_r($gemArr);

但是,除了“你是怎么做的”,你应该真正考虑使用mysqli_而不是mysql。如果你接受了学习PDO的挑战,你应该尝试使用它(是的,甚至超过mysqli _)。

答案 1 :(得分:0)

您需要获取数据。

$gemData = mysql_query("SELECT Code FROM stock WHERE SKU = 'TN-YKJI-ESWB'");
$gemInfo = mysql_fetch_assoc($gemData);
    echo "Gem Code: ".$gemInfo['Code']."<br>";

答案 2 :(得分:0)

补充先前的答案,mysql_query()返回资源,而不是字符串。

作为好的做法,我建议你从循环中删除mysql_query并使用“... WHERE SKU IN('TN-YKJI-ESWB','yourSecondKey',...,'yourNKey')”并取一个看看:

  • mysql_result()
  • mysql_fetch_row()能够
  • mysql_fetch_array()
  • mysql_fetch_assoc()
  • mysql_fetch_object()

php.net手册。

相关问题