在数组中搜索字符串的问题

时间:2013-05-08 15:29:04

标签: php arrays search

我差不多一个小时试图理解我在这里做错了什么。没有输出。

连接正常,数组充满了数据

<?php header('Content-Type: text/html; charset=utf-8');

// Here's the argument from the client.
$domain = $_GET['string'];
$quest=$_GET['quest'];
$event=$_GET['event'];

$con = mysql_connect('localhost', '******', '********');
if (!$con)
{
    die('Could not connect: ' . mysql_error());
}

mysql_select_db("vocabulary", $con);

$sql="SELECT * FROM `0` WHERE event_name = '".$event."' AND quest_id = '".$quest."'";

$result = mysql_query($sql);

$row = mysql_fetch_array($result);

$key = array_search($domain, $row);

echo $key;

mysql_close($con);


?>

任何想法? 感谢

2 个答案:

答案 0 :(得分:3)

一些事情。

  1. 您正在从名为0的表格中进行选择。我不认为你应该这样做。
  2. 由于我怀疑表0是否存在,我的猜测是您在mysql_fecth_array处出错。尝试将error_reporting(E_ALL);放在脚本的开头。
  3. 如果找不到任何内容,则
  4. array_search会返回False。请改为var_dump($key);
  5. 您的代码有serious security problem。我建议您转到PDOMySQLi
  6. Bobby Tables!

答案 1 :(得分:0)

我认为你的问题是你没有创建一个关联数组 http://php.net/manual/en/function.array-search.php

你的mysql_fetch_array返回一个包含值而不是键的数组,因此没有任何内容存储在$ key中。试试这个:

$row = mysql_fetch_array($result, MYSQL_ASSOC)

另外,强制性的“你应该完全避免使用mysql_函数,并转移到mysqli或PDO,因为mysql_已被弃用”