だから私はプロジェクトに取り組んでおり、いくつかのmysqlとphpエラーを実行しています。
最初のエラー:
これは、最初のエラーに関連するすべてのコードです
// Database Class
class Database {
public $_link, $_result, $_numRows;
public function __construct($server, $username, $password, $db){
$this->_link = mysql_connect($server, $username, $password) or die('Cannot Execute:'. mysql_error());
mysql_select_db($db, $this->_link);
}
public function disconnect(){
mysql_close($this->_link);
}
public function query($sql){
$this->_result = mysql_query($sql, $this->_link) or die('Cannot Execute:'. mysql_error());
$this->_numRows = mysql_num_rows($this->_result);
}
public function numRows() {
return $this->_numRows;
}
public function rows(){
$rows = array();
for($x = 0; $x < $this->numRows(); $x++) {
$rows[] = mysql_fetch_assoc($this->_result);
}
return $rows;
}
}
// Setup.php
$is_set = 'false';
global $company_name, $ebay_id;
if( isset($_POST['ebay_id'], $_POST['company_name']) ){
$_ebay_id = $_POST['ebay_id'];
$_company_name = $_POST['company_name'];
$is_set = 'true';
} else {
// Silence is Golden!
}
$_service_database = new Database('localhost', 'root', 'password', 'chat-admin');
$_service_database->query("SELECT * FROM installs WHERE `identity` = '$mysqldb' AND `db_name` = '$mysqldb'");
if ($_service_database->numRows() == 0){
if($is_set == true){
$_service_database->query("INSERT INTO installs (ebay_id, name, db_name, identity) VALUES ('$_ebay_id', '$_company_name', '$mysqldb', '$mysqldb')");
}
} else {
// header("Location: index.php");
}
$_service_database->disconnect();
?>
<form name="setup" method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
<input placeholder="eBay Username" type="text" name="ebay_id">
<input placeholder="Company Name" type="text" name="company_name">
<input type="hidden" name="insert" value="true">
<input type="submit">
</form>
つまり、定義された変数がデータベースにあるかどうかを確認し、そうでない場合はフォームが送信されたときに値を挿入し、データベースにある場合は index.php にリダイレクトします。 MySQL num_rows* は、パラメーター 1 がリソースであり、指定されたブール値であると想定しています ...、今、私はどこでも検索し、死ぬエラーが解決するはずであることがわかりました。そのため、関数クエリの 16 行目にそれを見ることができますが、エラーはすべてまだ機能しますが、エラーレポートをオフにするのはあまり良くないので、どんな助けも素晴らしいでしょう. また、$mysqldb のような未定義の変数が表示される場合、それらは実際には設定されていますが、別のページにあり、有効です。
2 番目のエラー : = テンプレート システムを単純化するために作成された関数
これはすべてSecond Errorに関連しています
function get_content_type($value){
if (strpos($value,'title:') === 0 ) {
$title = explode("title: ",$value);
$value = $title[1];
} else if (strpos($value,'css:') === 0 ) {
$css = explode("css: ",$value);
$value = $css[1];
} else if (strpos($value, 'js:') === 0 ) {
$javascript = explode("js: ", $value);
$value = $javascript[1];
} else {
// Silence is Golden
}
if($value == $title[1]){
echo '<title>'.$value.'</title>';
} else if ($value == $css[1]) {
echo '<link rel="stylesheet" href="'.$value.'">';
} else if ($value == $javascript[1]) {
echo '<script src="'.$value.'"></script>';
}
}
// Calling
get_content_type('title: Welcome to my site');
get_content_type('css: http://something.com/style.css');
get_content_type('js: http://code.jquery.com/jquery-latest.min.js');
この出力としてすべてが機能します
<title>Welcome to my site</title><link rel="stylesheet" href="http://somesite.com/style.css"><script src="http://code.jquery.com/jquery-latest.min.js"></script>
設定したときだけerror_reporting(0);
私が得るエラーは未定義の変数です。なぜなら、明らかに私は1つを設定していて、それを不安定にしてもう1つを設定しているので、最終的には1つだけが真になりますが、それらはすべて正しく出力されています。
アップデート
2 番目のエラー: エラー数 =
Notice: Undefined variable: css in C:\Server\www\hidie\libs\test.php on line 19
Notice: Undefined variable: title in C:\Server\www\hidie\libs\test.php on line 17
Notice: Undefined variable: title in C:\Server\www\hidie\libs\test.php on line 17
最初のエラー: エラー数 =
エラー:Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given