Устаўка дадзеных у табліцу (MySQLi устаўка)

Я глядзеў на гэты код на некаторы час, і цяпер я не магу бачыць, дзе праблема. Я чытаў ўсю StackOverflow і да гэтага часу не можа бачыць, дзе мая памылка.

<?php

mysqli_connect("localhost","root","","web_table");
mysql_select_db("web_table") or die(mysql_error());

if (mysqli_connect_errno()) {

  echo "Failed to connect to MySQL: " . mysqli_connect_error();

}
echo "
Connection Successful!" mysqli_query('INSERT INTO web_formitem (ID, formID, caption, key, sortorder, type, enabled, mandatory, data) VALUES (105, 7, Tip izdelka (6), producttype_6, 42, 5, 1, 0, 0)'); echo "
Insert successfull"; ?>

Памылка знаходзіцца дзесьці ў радку 13, то будзе mysqli_query ( "ўстаўка ... . Я спрабаваў дапамагчы сабе з http://www.w3schools.com/php/php_mysql_insert.asp , але гэта не дапамагае мне шмат.

10
Распрацоўшчык не павінен <�я> гляджу </я> у кодзе, але <�я> Выканаць .
дададзена аўтар Your Common Sense, крыніца
Дублікат Як ўключыць зменную PHP ўнутры MySQL ўставіць заяву
дададзена аўтар Your Common Sense, крыніца
Вы павінны працытаваць вашыя радкі -> VALUES ( 'значэнне 1', 'значэнне 2') ... замест VALUES (значэнне 1, значэнне 2)
дададзена аўтар Royal Bg, крыніца
што гэта mysql_select_db рабіць? Вы карыстаецеся Mysqli права? Ён нічога не робіць.
дададзена аўтар Bere, крыніца
Я паспрабаваў гэта, не працаваў ..
дададзена аўтар Blue, крыніца

7 адказы

Warning: Never ever refer to w3schools for learning purposes. They have so many mistakes in their tutorials.

Згодна mysqli_query дакументацыі, то першы параметр павінен быць радком злучэння:

$link = mysqli_connect("localhost","root","","web_table");

mysqli_query($link,"INSERT INTO web_formitem (`ID`, `formID`, `caption`, `key`, `sortorder`, `type`, `enabled`, `mandatory`, `data`)
VALUES (105, 7, 'Tip izdelka (6)', 'producttype_6', 42, 5, 1, 0, 0)") 
or die(mysqli_error($link));

Note: Add backticks ` for column names in your insert query as some of your column names are reserved words.

23
дададзена
Размесціце поўную памылку, калі ласка, тут. Таксама праверце мой абноўлены адказ з зваротнымі двукоссямі
дададзена аўтар Rikesh, крыніца
Я не магу бачыць backtics ў кодзе памылкі. Вы можаце праверыць дакладны код я даў вам?
дададзена аўтар Rikesh, крыніца
@Blue - на самай справе вы прапусцілі пасля таго, як рэха заявы вышэй mysqli_query.
дададзена аўтар Rikesh, крыніца
@Blue - шкада, што я forgoted адзін ) у канцы заявы. Вазьміце гэты код pastebin.com/XdYU3Guw
дададзена аўтар Rikesh, крыніца
Я маю на ўвазе ўставіць код на гэтым сайце pastebin.com , так што мы можам мець больш блізкі погляд на ст.
дададзена аўтар Rikesh, крыніца
Ці можаце вы ўставіць бен бягучы код?
дададзена аўтар Rikesh, крыніца
Абавязковай w3fools спасылка
дададзена аўтар Lotus, крыніца
бен? Вы можаце быць больш канкрэтным, калі ласка?
дададзена аўтар Blue, крыніца
Я паставіў; у пачатку, так што зараз яго працы .. і гэта пачынаецца, як гэта; mysqli_query ($ спасылку "INSERT ..., павінен быць у пачатку, чаму гэта?
дададзена аўтар Blue, крыніца
Я выкарыстаў сваю спасылку :) Гэта яшчэ не працуе
дададзена аўтар Blue, крыніца
SME праблема тут; mysqli_query ($ спасылку "INSERT INTO vranesic_formitem ( ID , FormID , загаловак , ключ , SortOrder , тып , уключаны , абавязковы , дадзеныя )() памылка парсера: памылка сінтаксісу, нечаканы T_STRING, чакаючы '' ці ';' у C: \ WAMP \ WWW \ bilform \ insert.php на лініі 12
дададзена аўтар Blue, крыніца
дададзена аўтар Blue, крыніца
Памылка сінтаксічнага аналізу: сінтаксічная памылка, нечаканы T_STRING, чакаючы '' ці ';' (!) ў C :? \ WAMP \ WWW \ bilform \ insert.php на лініі 14 Stil той жа S * т
дададзена аўтар Blue, крыніца
праблема ўсё яшчэ ў той жа радку .. (mysqli_query ..) і яно не вырашыць гэтую праблему. Thanx па параду w3.
дададзена аўтар Blue, крыніца

У mysqli_query (першы параметр павінен быць злучэнне, ваша заяву SQL) так

$connetion_name=mysqli_connect("localhost","root","","web_table") or die(mysqli_error());
mysqli_query($connection_name,'INSERT INTO web_formitem (ID, formID, caption, key, sortorder, type, enabled, mandatory, data) VALUES (105, 7, Tip izdelka (6), producttype_6, 42, 5, 1, 0, 0)');

але лепш практыка

$connetion_name=mysqli_connect("localhost","root","","web_table") or die(mysqli_error());
$sql_statement="INSERT INTO web_formitem (ID, formID, caption, key, sortorder, type, enabled, mandatory, data) VALUES (105, 7, Tip izdelka (6), producttype_6, 42, 5, 1, 0, 0)";
mysqli_query($connection_name,$sql_statement);
3
дададзена
Гэта можа быць карысна .. askseeker.com/category/programming-exercises/php-exercises
дададзена аўтар smzapp, крыніца
чаму змешванне MySQL з Mysqli заявы
дададзена аўтар inrsaurabh, крыніца
у MySQLi няма неабходнасці згадваць Выбар БД seprately
дададзена аўтар inrsaurabh, крыніца
У пачатку, гэта было зроблена, каб праверыць наяўнасць базы дадзеных, але я зразумеў, што гэта не патрэбна. Дзякуй за ўказанне
дададзена аўтар Love Shankar Shrestha, крыніца
mysqli_query('INSERT INTO web_formitem (ID, formID, caption, key, sortorder, type, enabled, mandatory, data) VALUES ('105', '7', 'Tip izdelka (6)', 'producttype_6', '42', '5', '1', '0', '0')');
2
дададзена
<�Код> mysqli_query прымае 2 або больш аргументаў. Гэты адказ з'яўляецца няслушным.
дададзена аўтар JasonMArcher, крыніца

калі адзін з вашых калонак як ID з'яўляецца автоинкрементом, вы не павінны прысвоіць значэнне для яго. проста пакласці NULL для яго кошту.

2
дададзена

Што пра гэта?

mysqli_query("INSERT INTO `web_formitem` (`ID`, `formID`, `caption`, `key`, `sortorder`, `type`, `enabled`, `mandatory`, `data`) VALUES ('105', '7', 'Tip izdelka (6)', 'producttype_6', '42', '5', '1', '0', '0')");
1
дададзена
Вы не можаце выкарыстоўваць адзінарныя двукоссі ўнутры радка, складзенай у падвойныя двукоссі адзінарныя двукоссі
дададзена аўтар steven, крыніца
<�Код> mysqli_query прымае 2 або больш аргументаў. Гэты адказ з'яўляецца няслушным.
дададзена аўтар JasonMArcher, крыніца

Добра, вядома, пытанне быў дадзены адказ, але ніхто не заўважае трэці радок кода. Ён бесперапынна праслухоўвае мяне.

    <?php
    mysqli_connect("localhost","root","","web_table");
    mysql_select_db("web_table") or die(mysql_error());

па нейкай прычыне, вы зрабілі Mysqli злучэнне з серверам, але вы спрабуеце ўсталяваць злучэнне MySQL для database.To атрымаць збіраецца, а выкарыстоўваць

       $link = mysqli_connect("localhost","root","","web_table");
       mysqli_select_db ($link , "web_table" ) or die.....

ці дзе я пачаў

     <?php $connection = mysqli_connect("localhost","root","","web_table");       
      global $connection;//global connection to databases - kill it once you're done

ці проста запыт з параметрам $ злучэння ў якасці іншага аргументу, як вышэй. Пазбавіцца ад гэтай трэцяй лініі.

0
дададзена

Пры выкарыстанні функцыі PHP Mysqli, майце на ўвазе, што злучальныя дэталі згаданыя першым, то запыт перадаецца ў функцыі

$cid=mysqli_connect("server", "username", "password", "database_name") or die (mysql_error());
mysqli_query($cid, $query) or die (mysqli_error($cid));
$result=mysqli_affected_rows($cid);
if($result===TRUE)
  echo"The query ran successfully";
else
  echo"The query did not run";
mysqli_close($cid);

Майце на ўвазе $ чид гэта зменная, якая захоўвае дадзеныя злучэння ў вышэйзгаданых кодаў.

0
дададзена