我正在运行本地apache服务器和mysql服务器。我的本地网站工作正常。mysql查询需要引号变量
当我将我的网站上传到ipage(主机)并将数据库导入到他们的mysql服务器时,我能够连接到数据库,但查询返回null。
我检查了上传的数据库,我能看到的唯一区别是本地的类型是innodb,但不知怎的,ipage不支持innodb,现在类型变成了MyISam。
现在,我做了一些测试:
这是我的PHP代码:
$type = mysqli_real_escape_string($connection, $_GET['type']);
$sq1 = "SELECT
course_id,
FROM
courses
WHERE
training_field LIKE '$type'"
这个地方而不是工作的远程服务器上。现在,当我硬编码$类型。即
$sq1 = "SELECT
course_id,
FROM
courses
WHERE
training_field LIKE 'ENIGNEEING'"
这种方法无处不在?
任何想法
请停止与古mysql_ *函数编写新的代码。他们不再被维护,社区已经开始[弃用流程](http://news.php.net/php.internals/53799)。相反,您应该了解准备好的语句并使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/mysqli)。如果你关心学习,[这里是一个很好的PDO相关教程](http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers)。 – Arjan 2013-03-05 06:48:12
是的我你是正确的我只是将mysql_real_escape_string移植到mysqli_real_escape_string和所有其他查询到MySQLi。仍然是同一个问题 – Kam 2013-03-05 06:59:16
@Kam - 为什么不把新代码(请附上它)发布到问题上。 – 2013-03-05 07:02:14