2014-06-17 2 views
-1

У меня есть этот код, и я не знаю, что с ним не так. Он создаст новую таблицу с именем игры, если она не существует, и это работает. Вторая часть, где мы вставляем строку, не работает.Не могу вставить строку PHP SQL

// Create connection 
$con=mysql_connect("$mysql_host","$mysql_username","$mysql_password") or die("error"); 
mysql_select_db("$mysql_database") or die("database not found"); 

// Create the table if it doesn't exist 
$game_exists = (mysql_num_rows(mysql_query("SHOW TABLES LIKE '".$game_name."'"))==1); 
if($game_exists == false) { 
    $game_name = mysql_escape_string($game_name); 
    mysql_query("CREATE TABLE '".$game_name."' (name text, data text)") or die("Could not create table"); 
    echo "Table created"; 
} else { 
    $game_name = mysql_escape_string($game_name); 
} 

$name = mysql_escape_string($name); 
$data = mysql_escape_string($data); 
$sql = "INSERT INTO $game_name (name, data) VALUES ('$name', '$data')"; 

$result = mysql_query($test) or die("Select Error"); 
echo $result; 

Каждый раз он умирает при выборе ошибки. Таблица существует

+1

изменения '($ имя, $ данных)' на '('$ имя', '$ данные')' –

+3

я просто должен упомянуть, создание таблицы динамически для каждой игры не является лучшей практикой, когда речь идет о реляционных базах данных. –

+0

Не работает Abhik –

ответ

3

$test не используется нигде, это не определено. Я думаю, вы хотите передать $sql.

$result = mysql_query($sql) or die("Select Error"); 
+0

Бах .. Я должен был это увидеть. В любом случае спасибо –

1

вы забываете кавычки в запросе вставки

$sql = "INSERT INTO $game_name (name, data) VALUES ('".$name."', '".$data."')"; 

, а также $test не существует

$result = mysql_query($sql) or die("Select Error"); 
0

Попробуйте это:

$sql = "INSERT INTO '$game_name' (name, data) VALUES ('$name', '$data')"; 
Смежные вопросы