【问题标题】:Invalid query: Table doesn't exist无效查询:表不存在
【发布时间】:2012-01-12 15:55:37
【问题描述】:

我试图通过 php 代码在 mysql 数据库的表中插入数据,但我总是收到以下错误:
无效查询:表 'whatsup_wp1.pushDevices' 不存在

我正在使用以下代码:

这个数据库有更多的表,我可以使用它们。我今天创建的表格有问题。它们出现在 phpmyadmin 中,但不知何故我无法通过我的 php 代码使用它们。

任何帮助对我来说都可能至关重要。我花了整整一天的时间。

谢谢
潘卡伊

【问题讨论】:

  • 格式问题,我很抱歉,我很努力,但无法纠正。
  • 你的表名是 'devices' 还是 'pushdevices'...?
  • 错误信息和你的代码不匹配,是错误信息中的表名devices还是查询字符串中的pushDevices
  • 检查您是否在您认为的位置创建了表。另外,可能是创建用户和查询用户之间的权限问题?
  • 我检查过没有空间,

标签: php mysql


【解决方案1】:

你说什么很难说,但我有一个建议......看起来没有选择表试试这个

它的格式是这样的

$query = "INSERT INTO mydb.mytable
(mytablefield)
VALUES
('myfieldvalue')"
$result = mysql_query($query);
if (!$result){
    die('Invalid query: ' . mysql_error());
}

我猜你的意思是这样吗?

$query = "INSERT INTO whatsup_wp1.devices 
(device)
VALUES
('".$deviceid."')"
$result = mysql_query($query);
if (!$result){
    die('Invalid query: ' . mysql_error());
}

出于安全原因,我推荐这个...

else
    {
//echo 'connect';
$deviceid = mysql_real_escape_string(stripslashes($deviceid));
}

改成

else
    {
//echo 'connect';
$deviceid = mysql_real_escape_string(stripslashes($deviceid));
}

我个人就是这样用的

$result = mysql_query("INSERT INTO mytable
(mytablefield)
VALUES
('myfieldvalue')");
if($result){echo "Works!";}
else{die('Invalid query: ' . mysql_error());exit();}

【讨论】:

  • 感谢李回答我......但我运气不好,我仍然无法获得任何成功。有没有办法通过php中的查询列出数据库的所有表?
  • 这个链接有你的答案brightcherry.co.uk/scribbles/2008/11/14/…
【解决方案2】:

如果您使用的是 Linux,请检查大小写是否相同。

在 windows 上 MySql 是不区分大小写的,在 Linux 上是区分大小写的。

另外,您在 pushDevice 之后缺少一个空格:pushDevice(...

【讨论】:

    猜你喜欢
    • 2015-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多