我想从记录中选择一个字段值,其中记录中的另一个值与我的指定值匹配。
“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
答案 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')”并取一个看看:
在php.net手册。