Php 表';databasename.info';不';不存在

Php 表';databasename.info';不';不存在,php,Php,所以我安装了这个jackpot脚本,包括布局和所有内容,在jackpot脚本中有一个set.php文件,我试图设置它,它看起来像这样: <?php $sitename = "csgoxd.net"; $link = @mysql_connect("localhost:3306", "csgoxdne", "thisisasecretpassword"); $db_selected = mysql_select_db('csgoxdne_csgoxddb', $link); mysql_qu

所以我安装了这个jackpot脚本,包括布局和所有内容,在jackpot脚本中有一个set.php文件,我试图设置它,它看起来像这样:

<?php
$sitename = "csgoxd.net";
$link = @mysql_connect("localhost:3306", "csgoxdne", "thisisasecretpassword");
$db_selected = mysql_select_db('csgoxdne_csgoxddb', $link);
mysql_query("SET NAMES utf8");

function fetchinfo($rowname,$tablename,$finder,$findervalue) {
    if($finder == "1") $result = mysql_query("SELECT $rowname FROM $tablename");
    else $result = mysql_query("SELECT $rowname FROM $tablename WHERE `$finder`='$findervalue'") or die (mysql_error());
    $row = mysql_fetch_assoc($result);
    return $row[$rowname];
}
?>

您应该使用MySQLi来利用它相对于MySQL的优势。你可以看到更多。你的脚本还不算太差,但它确实需要一些调整。就像Marc B说的,它很容易被注射。我假设‘csgoxdne_csgoxddb’是您的表名。试试这个:

<?php
$mysqli = new mysqli("localhost:3306", "csgoxdne", "thisisasecretpassword");
if (mysqli -> error){ print ("Error connecting! Message: ".$mysqli->error); }
mysqli_set_charset($mysqli, 'utf8');

function fetchinfo($rowname,$tablename,$finder,$findervalue) {
  if($finder == "1"){
    $query ="SELECT * FROM $tablename WHERE rowname = '$rowname'";
    $result = mysqli_query($mysqli, $query);
}else{
  $query = "SELECT * FROM $tablename WHERE `$finder`='$findervalue'";
  if (!$query){die('Invalid query: '.$mysqli->error);}
  $result = mysqli_query($mysqli, $query);
}
return $result;
}
?>

我建议您删除此脚本并继续
mysql_*()
函数被正式弃用并从PHP中删除,而且代码编写得非常糟糕。它只是假设成功,很容易受到攻击,并且使用了
@
错误抑制,这是一种(孩子气的)编码,相当于把手指塞进耳朵里,然后说“拉拉听不见”。所以没有其他解决方案了吗?好吧,解决方案是找出为什么你的
info
表不存在,但这并不能改变这个脚本是垃圾的事实。是的,我只是在谷歌上的一次绝望的搜索中发现了这个脚本,因为我自己无法编写CS:GO Jackpot脚本,我对脚本知之甚少。但是我从哪里开始尝试找出为什么我的表不存在呢?我没有时间学习如何创建脚本。谢谢你的回答!尝试了这一点,似乎我得到了另一个错误:解析错误:语法错误,在/home/csgoxdne/public_html/set.php的第3行出现意外的'->'(T_OBJECT_OPERATOR):如果(mysqli->error){print(“错误连接!消息:”.$mysqli->error);}尝试键入它,而不是复制和粘贴,你可能会在某个地方看到一个不可见的角色,从而使它出错。
if (mysqli_num_rows($result) > 0){
 while ($row = mysqli_fetch_array($result)){
  #do things
}
}